ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# ::的用法 1. 静态属性和静态方法 类内访问:**self::方法|属性** 类外访问:**类名::方法|属性** 2. 类常量 类内访问:**self::常量名** 类外访问:**类名::常量名** 3. 调用父类的属性和方法 parent::属性|方法 4. 作用域限定符 **4的例子:** ::左边表示的是作用域,右边表示的是访问的成员 例子1: ``` <pre class="calibre10">``` <span class="token1"><</span><span class="token1">?</span>php class <span class="token4">Apple</span> <span class="token3">{</span> public <span class="token5">function</span> <span class="token4">showColor</span><span class="token3">(</span><span class="token3">)</span> <span class="token3">{</span> echo <span class="token2">'green'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token3">}</span> class <span class="token4">Banana</span> <span class="token3">{</span> public <span class="token5">function</span> <span class="token4">GetColor</span><span class="token3">(</span><span class="token3">)</span> <span class="token3">{</span> <span class="token5">return</span> Apple<span class="token3">:</span><span class="token3">:</span><span class="token4">showColor</span><span class="token3">(</span><span class="token3">)</span><span class="token3">;</span> <span class="token3">}</span> <span class="token3">}</span> $banana <span class="token1">=</span> <span class="token5">new</span> <span class="token4">Banana</span><span class="token3">;</span> echo $banana<span class="token1">-</span><span class="token1">></span><span class="token4">GetColor</span><span class="token3">(</span><span class="token3">)</span><span class="token3">;</span><span class="token">//green</span> ``` ``` 例子2: ``` <pre class="calibre10">``` class <span class="token4">Apple</span> <span class="token3">{</span> public <span class="token5">function</span> <span class="token4">showColor</span><span class="token3">(</span><span class="token3">)</span> <span class="token3">{</span> <span class="token5">return</span> $this<span class="token1">-</span><span class="token1">></span>color<span class="token3">;</span> <span class="token3">}</span> <span class="token3">}</span> class <span class="token4">Banana</span> <span class="token3">{</span> public $color<span class="token1">=</span><span class="token2">'Banana is yellow'</span><span class="token3">;</span> public <span class="token5">function</span> <span class="token4">GetColor</span><span class="token3">(</span><span class="token3">)</span> <span class="token3">{</span> <span class="token5">return</span> Apple<span class="token3">:</span><span class="token3">:</span><span class="token4">showColor</span><span class="token3">(</span><span class="token3">)</span><span class="token3">;</span> <span class="token3">}</span> <span class="token3">}</span> $banana <span class="token1">=</span> <span class="token5">new</span> <span class="token4">Banana</span><span class="token3">;</span> echo $banana<span class="token1">-</span><span class="token1">></span><span class="token4">GetColor</span><span class="token3">(</span><span class="token3">)</span><span class="token3">;</span> <span class="token">//7以下:Banana is yellow</span> <span class="token">//7以上:Fatal error: Uncaught Error: Using $this when not in object context in /usercode/file.php:8</span> ``` ``` 例子3: ``` <pre class="calibre17">``` class <span class="token4">Apple</span> <span class="token3">{</span> public <span class="token5">function</span> <span class="token4">showColor</span><span class="token3">(</span><span class="token3">)</span> <span class="token3">{</span> echo<span class="token2">'1111'</span><span class="token3">;</span> <span class="token5">return</span> $this<span class="token1">-</span><span class="token1">></span>color<span class="token3">;</span> <span class="token3">}</span> <span class="token3">}</span> class <span class="token4">Banana</span> <span class="token3">{</span> public $color<span class="token3">;</span> public <span class="token5">function</span> <span class="token4">__construct</span><span class="token3">(</span><span class="token3">)</span> <span class="token3">{</span> $this<span class="token1">-</span><span class="token1">></span>color <span class="token1">=</span> <span class="token2">"Banana is yellow"</span><span class="token3">;</span> <span class="token3">}</span> public <span class="token5">function</span> <span class="token4">GetColor</span><span class="token3">(</span><span class="token3">)</span> <span class="token3">{</span> <span class="token5">return</span> Apple<span class="token3">:</span><span class="token3">:</span><span class="token4">showColor</span><span class="token3">(</span><span class="token3">)</span><span class="token3">;</span> <span class="token3">}</span> <span class="token3">}</span> $banana <span class="token1">=</span> <span class="token5">new</span> <span class="token4">Banana</span><span class="token3">;</span> echo $banana<span class="token1">-</span><span class="token1">></span><span class="token4">GetColor</span><span class="token3">(</span><span class="token3">)</span><span class="token3">;</span> <span class="token">//7以下:111 Banana is yellow</span> <span class="token">//调用GetColor方法执行方法里的return Apple::showColor();但是里面的函数$this代表当前对象而当前对象就是实例化的Bnana </span> <span class="token">//7以上:</span> <span class="token">//Fatal error: Uncaught Error: Using $this when not in object context in /usercode/file.php:9</span> ``` ```