2.使用示例:
phpadvanced 目錄下的TestNamespaced.php類<?php namespace phpadvanced; class TestNamespace { PRivate static $name="hehe1"; public static function getName(){ echo self::$name."<br />"; } public static function setName($name){ self::$name = $name; } }phpadvanced/test 目錄下的TestNamespaced.php類<?php namespace phpadvanced/test; require_once "../TestNamespace.php"; use phpadvanced/TestNamespace as TestNamespace1; class TestNamespace { private static $name="hehe"; public static function getName(){ echo self::$name."<br />"; } public static function setName($name){ self::$name = $name; } } $obj = new TestNamespace(); $obj->setName("haha2"); $obj->getName(); TestNamespace1::getName();http://192.168.15.233:8088/phpadvanced/test/TestNamespace.php 執行結果: haha2 hehe1
分析:在不同目錄(不同命名空間下)創建相同的類TestNamespace.php,類包含一個私有的靜態變量和兩個共有的靜態方法。 使用require_once 包含文件后,使用use定義命名空間別名。
3.使用示例2
phpadvanced 目錄下的TestNamespaced2.php類<?php namespace phpadvanced; require_once "./TestNamespace.php"; require_once "./test/TestNamespace.php"; use phpadvanced/TestNamespace as TestNamespace1; use phpadvanced/test/TestNamespace as TestNamespace11; TestNamespace1::setName("haha"); TestNamespace1::getName(); TestNamespace11::setName("haha2"); TestNamespace11::getName();http://192.168.15.233:8088/phpadvanced/TestNamespace2.php 執行結果: haha haha2
全局命名空間示例phpadvanced 目錄下的TestNamespaced3.php類<?php namespace phpadvanced; class TestNamespace3 { public function test() { $exception = new /Exception(); var_dump($exception); } } $obj = new TestNamespace3(); $obj->test();http://192.168.15.233:8088/phpadvanced/TestNamespace3.php 沒有在Exception前加 / 符號 執行結果:
Fatal error: Class 'phpadvanced/Exception' not found in C:/xampp/htdocs/phpadvanced/TestNamespace3.php on line 8在Exception前 加 / 符號,執行結果:
object(Exception)#2 (7) { ["message":protected]=> string(0) "" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(46) "C:/xampp/htdocs/phpadvanced/TestNamespace3.php" ["line":protected]=> int(8) ["trace":"Exception":private]=> array(1) { [0]=> array(6) { ["file"]=> string(46) "C:/xampp/htdocs/phpadvanced/TestNamespace3.php" ["line"]=> int(15) ["function"]=> string(4) "test" ["class"]=> string(26) "phpadvanced/TestNamespace3" ["type"]=> string(2) "->" ["args"]=> array(0) { } } } ["previous":"Exception":private]=> NULL}新聞熱點
疑難解答
圖片精選