language.oop5.basic.html
来自「php的帮助文档,涉及到PHP的案例和基本语法,以及实际应用内容」· HTML 代码 · 共 195 行 · 第 1/2 页
HTML
195 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>The Basics</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="language.oop5.html">Classes and Objects (PHP 5)</a></div> <div class="next" style="text-align: right; float: right;"><a href="language.oop5.autoload.html">Autoloading Objects</a></div> <div class="up"><a href="language.oop5.html">Classes and Objects (PHP 5)</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div id="language.oop5.basic" class="sect1"> <h2 class="title">The Basics</h2> <div id="language.oop5.basic.class" class="sect2"> <h3 class="title">class</h3> <p class="para"> Every class definition begins with the keyword class, followed by a class name, which can be any name that isn't a <a href="reserved.html" class="link">reserved</a> word in PHP. Followed by a pair of curly braces, which contains the definition of the classes members and methods. A pseudo-variable, <var class="varname">$this</var> is available when a method is called from within an object context. <var class="varname">$this</var> is a reference to the calling object (usually the object to which the method belongs, but can be another object, if the method is called <a href="language.oop5.static.html" class="link">statically</a> from the context of a secondary object). This is illustrated in the following examples: <div class="example"> <p><b>Example #1 <var class="varname">$this</var> variable in object-oriented language</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">A<br /></span><span style="color: #007700">{<br /> function </span><span style="color: #0000BB">foo</span><span style="color: #007700">()<br /> {<br /> if (isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">)) {<br /> echo </span><span style="color: #DD0000">'$this is defined ('</span><span style="color: #007700">;<br /> echo </span><span style="color: #0000BB">get_class</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">);<br /> echo </span><span style="color: #DD0000">")\n"</span><span style="color: #007700">;<br /> } else {<br /> echo </span><span style="color: #DD0000">"\$this is not defined.\n"</span><span style="color: #007700">;<br /> }<br /> }<br />}<br /><br />class </span><span style="color: #0000BB">B<br /></span><span style="color: #007700">{<br /> function </span><span style="color: #0000BB">bar</span><span style="color: #007700">()<br /> {<br /> </span><span style="color: #0000BB">A</span><span style="color: #007700">::</span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br /> }<br />}<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= new </span><span style="color: #0000BB">A</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$a</span><span style="color: #007700">-></span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">A</span><span style="color: #007700">::</span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= new </span><span style="color: #0000BB">B</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$b</span><span style="color: #007700">-></span><span style="color: #0000BB">bar</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">B</span><span style="color: #007700">::</span><span style="color: #0000BB">bar</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents"><pre><div class="cdata"><pre>$this is defined (a)$this is not defined.$this is defined (b)$this is not defined.</pre></div> </pre></div> </div> </p> <div class="example"> <p><b>Example #2 Simple Class definition</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">SimpleClass<br /></span><span style="color: #007700">{<br /> </span><span style="color: #FF8000">// member declaration<br /> </span><span style="color: #007700">public </span><span style="color: #0000BB">$var </span><span style="color: #007700">= </span><span style="color: #DD0000">'a default value'</span><span style="color: #007700">;<br /><br /> </span><span style="color: #FF8000">// method declaration<br /> </span><span style="color: #007700">public function </span><span style="color: #0000BB">displayVar</span><span style="color: #007700">() {<br /> echo </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">var</span><span style="color: #007700">;<br /> }<br />}<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> <p class="para"> The default value must be a constant expression, not (for example) a variable, a class member or a function call. <div class="example"> <p><b>Example #3 Class members' default value</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">SimpleClass<br /></span><span style="color: #007700">{<br /> </span><span style="color: #FF8000">// invalid member declarations:<br /> </span><span style="color: #007700">public </span><span style="color: #0000BB">$var1 </span><span style="color: #007700">= </span><span style="color: #DD0000">'hello '</span><span style="color: #007700">.</span><span style="color: #DD0000">'world'</span><span style="color: #007700">;<br /> public </span><span style="color: #0000BB">$var2 </span><span style="color: #007700">= <<<EOD<br /></span><span style="color: #0000BB">hello world<br /></span><span style="color: #007700">EOD;<br /> public </span><span style="color: #0000BB">$var3 </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">+</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /> public </span><span style="color: #0000BB">$var4 </span><span style="color: #007700">= </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">myStaticMethod</span><span style="color: #007700">();<br /> public </span><span style="color: #0000BB">$var5 </span><span style="color: #007700">= </span><span style="color: #0000BB">$myVar</span><span style="color: #007700">;<br /><br /> </span><span style="color: #FF8000">// valid member declarations:<br /> </span><span style="color: #007700">public </span><span style="color: #0000BB">$var6 </span><span style="color: #007700">= </span><span style="color: #0000BB">myConstant</span><span style="color: #007700">;<br /> public </span><span style="color: #0000BB">$var7 </span><span style="color: #007700">= </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">classConstant</span><span style="color: #007700">;<br /> public </span><span style="color: #0000BB">$var8 </span><span style="color: #007700">= array(</span><span style="color: #0000BB">true</span><span style="color: #007700">, </span><span style="color: #0000BB">false</span><span style="color: #007700">);<br /> <br /> <br />}<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> </p> <blockquote><p><b class="note">Note</b>: There are some nice functions to handle classes and objects. You might want to take a look at the <a href="ref.classobj.html" class="link">Class/Object Functions</a>. <br /> </p></blockquote> <p class="para"> Unlike heredocs, nowdocs can be used in any static data context. <div class="example"> <p><b>Example #4 Static data example</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br /> </span><span style="color: #FF8000">// As of PHP 5.3.0<br /> </span><span style="color: #007700">public </span><span style="color: #0000BB">$bar </span><span style="color: #007700">= <<<</span><span style="color: #DD0000">'EOT'<br /></span><span style="color: #0000BB">bar<br />EOT</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> </p> <blockquote><p><b class="note">Note</b>: Nowdoc support was added in PHP 5.3.0. <br /> </p></blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?