国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php 命名空間

2019-11-08 00:59:22
字體:
供稿:網(wǎng)友
首先闡述一下概念命名空間: 聲明命名空間的代碼應(yīng)該放在<?php 代碼后的第一行。 作用封裝和組織相關(guān)的php類,類似把相關(guān)的文件放在同一目錄下一樣。 子命名空間使用 / 分割。 同一空間的所有類沒必要寫在同一個php文件里。 廠商命名空間是最重要的命名空間,是最頂層的命名空間,用于識別品牌或組織,具有全局唯一性。 使用use 關(guān)鍵字導(dǎo)入代碼。use關(guān)鍵字: use位置在<?php 標簽或命名空間之后。 use必須出現(xiàn)在全局作用域中,不能再類或函數(shù)中全局命名空間: 有些代碼沒有命名空間,而是在全局命名空間中,使用時要在類、函數(shù)、接口、常量前加上 / 符號

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 執(zhí)行結(jié)果: haha2 hehe1

分析:在不同目錄(不同命名空間下)創(chuàng)建相同的類TestNamespace.php,類包含一個私有的靜態(tài)變量和兩個共有的靜態(tài)方法。 使用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 執(zhí)行結(jié)果: 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前加 / 符號 執(zhí)行結(jié)果:

Fatal error: Class 'phpadvanced/Exception' not found in C:/xampp/htdocs/phpadvanced/TestNamespace3.php on line 8

在Exception前 加 / 符號,執(zhí)行結(jié)果:

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}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 进贤县| 卢龙县| 都兰县| 扶余县| 垦利县| 敦化市| 友谊县| 高雄县| 扬州市| 三亚市| 临邑县| 棋牌| 班玛县| 宁武县| 新余市| 宁国市| 平谷区| 庐江县| 霍林郭勒市| 新绛县| 军事| 正宁县| 平塘县| 全州县| 手游| 奈曼旗| 凤阳县| 萨迦县| 绍兴市| 京山县| 望都县| 福安市| 全南县| 宜章县| 毕节市| 保定市| 江永县| 万盛区| 巴彦县| 五华县| 虎林市|