⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classobj.examples.html

📁 php的帮助文档,涉及到PHP的案例和基本语法,以及实际应用内容
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head>  <title>Examples</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="classobj.constants.html">Predefined Constants</a></div> <div class="next" style="text-align: right; float: right;"><a href="ref.classobj.html">Classes/Object Functions</a></div> <div class="up"><a href="book.classobj.html">Classes/Objects</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div> <h1>Examples</h1> <p class="para">  In this example, we first define a base class and an extension  of the class. The base class describes a general vegetable,  whether it is edible or not and what is its color. The subclass  <var class="varname">Spinach</var> adds a method to cook it and another to  find out if it is cooked. </p> <p class="para">  <div class="example">   <p><b>Example #1 classes.inc</b></p>   <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">//&nbsp;base&nbsp;class&nbsp;with&nbsp;member&nbsp;properties&nbsp;and&nbsp;methods<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Vegetable&nbsp;</span><span style="color: #007700">{<br /><br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">$edible</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">$color</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">Vegetable</span><span style="color: #007700">(</span><span style="color: #0000BB">$edible</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$color</span><span style="color: #007700">=</span><span style="color: #DD0000">"green"</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">edible&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$edible</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$color</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">is_edible</span><span style="color: #007700">()&nbsp;<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">edible</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">what_color</span><span style="color: #007700">()&nbsp;<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">color</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span><span style="color: #FF8000">//&nbsp;end&nbsp;of&nbsp;class&nbsp;Vegetable<br /><br />//&nbsp;extends&nbsp;the&nbsp;base&nbsp;class<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Spinach&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">Vegetable&nbsp;</span><span style="color: #007700">{<br /><br />&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">$cooked&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">Spinach</span><span style="color: #007700">()&nbsp;<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Vegetable</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"green"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">cook_it</span><span style="color: #007700">()&nbsp;<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cooked&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">is_cooked</span><span style="color: #007700">()&nbsp;<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cooked</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span><span style="color: #FF8000">//&nbsp;end&nbsp;of&nbsp;class&nbsp;Spinach<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>   </div>  </div> </p> <p class="para"> We then instantiate 2 objects from these classes and print out information about them, including their class parentage. We also define some utility functions, mainly to have a nice printout of the variables. </p> <p class="para">  <div class="example">   <p><b>Example #2 test_script.php</b></p>   <div class="example-contents"><div class="phpcode"><code><span style="color: #000000">&lt;pre&gt;<br /><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">include&nbsp;</span><span style="color: #DD0000">"classes.inc"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;utility&nbsp;functions<br /><br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">print_vars</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">)&nbsp;<br />{<br />foreach&nbsp;(</span><span style="color: #0000BB">get_object_vars</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">)&nbsp;as&nbsp;</span><span style="color: #0000BB">$prop&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$val</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"\t$prop&nbsp;=&nbsp;$val\n"</span><span style="color: #007700">;<br />}<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">print_methods</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">)&nbsp;<br />{<br /></span><span style="color: #0000BB">$arr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">get_class_methods</span><span style="color: #007700">(</span><span style="color: #0000BB">get_class</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">));<br />foreach&nbsp;(</span><span style="color: #0000BB">$arr&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$method</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"\tfunction&nbsp;$method()\n"</span><span style="color: #007700">;<br />}<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">class_parentage</span><span style="color: #007700">(</span><span style="color: #0000BB">$obj</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$class</span><span style="color: #007700">)&nbsp;<br />{<br />if&nbsp;(</span><span style="color: #0000BB">is_subclass_of</span><span style="color: #007700">(</span><span style="color: #0000BB">$GLOBALS</span><span style="color: #007700">[</span><span style="color: #0000BB">$obj</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">$class</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Object&nbsp;$obj&nbsp;belongs&nbsp;to&nbsp;class&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">get_class</span><span style="color: #007700">($</span><span style="color: #0000BB">$obj</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&nbsp;a&nbsp;subclass&nbsp;of&nbsp;$class\n"</span><span style="color: #007700">;<br />}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Object&nbsp;$obj&nbsp;does&nbsp;not&nbsp;belong&nbsp;to&nbsp;a&nbsp;subclass&nbsp;of&nbsp;$class\n"</span><span style="color: #007700">;<br />}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;instantiate&nbsp;2&nbsp;objects<br /><br /></span><span style="color: #0000BB">$veggie&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Vegetable</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"blue"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$leafy&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Spinach</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//&nbsp;print&nbsp;out&nbsp;information&nbsp;about&nbsp;objects<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"veggie:&nbsp;CLASS&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">get_class</span><span style="color: #007700">(</span><span style="color: #0000BB">$veggie</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"leafy:&nbsp;CLASS&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">get_class</span><span style="color: #007700">(</span><span style="color: #0000BB">$leafy</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">",&nbsp;PARENT&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">get_parent_class</span><span style="color: #007700">(</span><span style="color: #0000BB">$leafy</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;show&nbsp;veggie&nbsp;properties<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"\nveggie:&nbsp;Properties\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">print_vars</span><span style="color: #007700">(</span><span style="color: #0000BB">$veggie</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;and&nbsp;leafy&nbsp;methods<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"\nleafy:&nbsp;Methods\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">print_methods</span><span style="color: #007700">(</span><span style="color: #0000BB">$leafy</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #DD0000">"\nParentage:\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">class_parentage</span><span style="color: #007700">(</span><span style="color: #DD0000">"leafy"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Spinach"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">class_parentage</span><span style="color: #007700">(</span><span style="color: #DD0000">"leafy"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Vegetable"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;/pre&gt;</span></code></div>   </div>   <div class="example-contents"><p>    One important thing to note in the example above is that    the object <var class="varname">$leafy</var> is an instance of the class    <b class="classname">Spinach</b> which is a subclass of     <b class="classname">Vegetable</b>,    therefore the last part of the script above will output:   </p></div>   <div class="example-contents"><pre><div class="cdata"><pre>   [...]Parentage:Object leafy does not belong to a subclass of SpinachObject leafy belongs to class spinach a subclass of Vegetable</pre></div>   </pre></div>  </div> </p></div><hr /><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="classobj.constants.html">Predefined Constants</a></div> <div class="next" style="text-align: right; float: right;"><a href="ref.classobj.html">Classes/Object Functions</a></div> <div class="up"><a href="book.classobj.html">Classes/Objects</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -