1 <?php 2 /** 3 * @Author: Martin 4 * @Support: Martin 5 * @Last Modified by: Martin 6 */ 7 namespace Order; 8 9 const STR = 'order list<br />';10 11 function detail()12 {13 return 'order detail<br />';14 }15 function call_by_self()16 {17 return 'call by self<br />';18 }19 /**20 *21 */22 class Orderlist23 {24 25 public function __construct()26 {27 echo 'Class NameSpace is "', __NAMESPACE__, '"';28 }29 public function show_list()30 {31 for ($i = 0; $i < 5; $i++) {32 echo "<ul><li>this is order$i<br />";33 //內部直接訪問34 echo detail();35 echo "</li></ul>";36 }37 }38 }39 //內部通過命名空間訪問40 echo /Order/call_by_self();
index.php 內容為:
1 <?php 2 /** 3 * @Author: Martin 4 * @Support: Martin 5 * @Last Modified by: Martin 6 */ 7 namespace index; 8 include_once('Order.php'); 9 10 //外部訪問class 實例化即可使用11 use Order/Orderlist;12 $orderlist = new orderlist;13 $orderlist->show_list();14 15 //外部訪問靜態變量和function 直接訪問16 use Order;17 echo Order/STR;18 echo Order/detail();
打印結果為:
打印結果為:
SPL自動載入函數包含如下:
spl_autoload_extensions: 注冊并返回spl_autoload函數使用的默認文件擴展名。修改User.php 如下:
1 namespace User; 2 3 //直接載入Order 4 #include('Order.php'); 5 //自動載入 6 define('LIB_DIR', __DIR__ . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR); 7 spl_autoload_register(function ($class) { 8 $path = LIB_DIR . $class . '.lib.php'; 9 include ($path);10 });11 12 spl_autoload_call('Order');13 use Order;14 15 $orderList = new /Order/Orderlist();16 $orderList->show_list();
打印結果為:
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答