PHP學習——30 PHP面向物件(名稱空間)
阿新 • • 發佈:2018-11-27
<?php namespace spaceA; const TITLE = '我在網上學習PHP'; function multi($n,$m) { return $n*$m; } class Staff { private $name = 'Tony'; public function __construct($name) { $this->name = $name; } public function __get($name) { return $this->$name; } public function __set($name,$value) { $this->$name = $value; } } namespace spaceB; const TITLE = '我在學校學習PHP'; function sum($n,$m) { return $n+$m; } class Staff { private $name = 'Peter'; public function __get($name) { return $this->$name; } public function __set($name,$value) { $this->$name = $value; } } echo '標題是:'.TITLE;//非限定名稱的名稱空間 //標題是:我在學校學習PHP echo '<hr>'; echo 'n + m = '.sum(4,6);//n + m = 10 echo '<hr>'; $staffB = new Staff; echo $staffB->name;//Peter echo '<hr>'; // 名稱空間魔術常量 __NAMESPACE__ echo '當前的名稱空間是:'.__NAMESPACE__; echo '<hr>'; // 訪問空間 spaceA 的成員 echo 'spaceA標題是:'.(\spaceA\TITLE);//完全限定名稱的名稱空間 //spaceA標題是:我在網上學習PHP echo '<hr>'; echo 'spaceA乘法:'.(\spaceA\multi(3,5));//spaceA乘法:15 echo '<hr>'; $staffA = new \spaceA\Staff('白鴿'); echo $staffA->name;//白鴿 echo '<hr>'; namespace spaceC; // 引入名稱空間spaceA的Stuff類 // use spaceA; // 定位到空間 use spaceA\Staff as spaceAStaff; // 定位到空間的類 // 引入子空間的類 use spaceC\spaceD\Demo as Demo; class Staff { private $name = 'Peter'; public function __get($name) { return $this->$name; } public function __set($name,$value) { $this->$name = $value; } } $staffC = new spaceAStaff('引入白鴿'); echo $staffC->name;//引入白鴿 echo '<hr>'; // 使用子空間的類常量 echo Demo::CITY;// 北京 namespace spaceC\spaceD; class Demo { const CITY = '北京'; } ?>