成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

php 命名空間學習(一)

hsluoyz / 3255人閱讀

摘要:另外,在目錄外訪問文件時,我們必須將目錄名以及目錄分隔符放在文件名之前得到。這就是命名空間,其目的是為了區(qū)分不同目錄的同一文件,或者同一方法。為很長的標識符名稱通常是為了緩解第一類問題而定義的創(chuàng)建一個別名或簡短的名稱,提高源代碼的可讀性。

1.什么是命名空間?

    文件 foo.txt 可以同時在目錄/home/greg 和 /home/other 中存在,
但在同一個目錄中不能存在兩個 foo.txt 文件。另外,在目錄/home/greg 
外訪問 foo.txt 文件時,我們必須將目錄名以及目錄分隔符放在文件名之前
得到 /home/greg/foo.txt。
    這就是命名空間,其目的是為了區(qū)分不同目錄的同一文件,或者同一方法。
    詳細:
   1. 用戶編寫的代碼與PHP內(nèi)部的類/函數(shù)/常量或第三方類/函數(shù)/常量之
間的名字沖突。
   2.為很長的標識符名稱(通常是為了緩解第一類問題而定義的)創(chuàng)建一個
別名(或簡短)的名稱,提高源代碼的可讀性。

2.php支持命名空間

php >=5.3.0 是支持命名空間的

3.命名空間關鍵字

PHP支持兩種抽象的訪問當前命名空間內(nèi)部元素的方法:
    __NAMESPACE__ 魔術常量
    namespace  關鍵字
    
    例如:
        namespace test;
        echo __NAMESPACE__;
    輸出結(jié)果:
        test

4.簡單例子

namespace test;

define("testHELLO","hello world!");
define(__NAMESPACE__ . "GOODBYE","goodbye cruel world");
define("GOODBYE","hahahha");
echo HELLO;
echo "
"; echo GOODBYE; echo "
"; echo GOODBYE; echo "
"; echo estGOODBYE; echo "
"; echo testGOODBYE; //Fatal error: Undefined constant "test estGOODBYE" in /mnt/hgfs/www/test/test.php on line 16 //會找不到test 所以要在之前加 表明當前test

結(jié)果

5.調(diào)用命名空間

namespace test;

namespace home;

class mao {
    public function __construct() {}

    /**
     * echo
     */
    public function mao_test() {
        echo "hello my namespace test";
    }
}
use homemao as hahah;
$obj = new hahah();
$obj->mao_test();

結(jié)果

6.多個命名空間的引用
test.php

namespace home;
class mao {
    public function __construct() {}
    /**
     * echo
     */
    public function mao_test() {
        echo "hello my namespace test";
    }
}
namespace home2;
class mao {
    public function __construct() {}
    /**
     * echo
     */
    public function mao_test() {
        echo "hello my namespace test2";
    }
}

index.php

namespace test;
require_once("test.php");
use homemao as java;
$obj = new java();
$obj->mao_test();
echo "
"; use home2mao as hah; $obj = new hah(); $obj->mao_test();

結(jié)果

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23226.html

相關文章

  • Laravel 5 系列入門教程(二)【最適合中國人的 Laravel 教程】

    摘要:原文發(fā)表在我的個人網(wǎng)站系列入門教程二最適合中國人的教程本教程示例代碼見大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。 原文發(fā)表在我的個人網(wǎng)站:Laravel 5 系列入門教程(二)【最適合中國人的 Laravel 教程】 本教程示例代碼見:https://github.com/johnlui/Learn-Laravel-5 大家在任何地方卡住,最快捷...

    未東興 評論0 收藏0
  • php之道》讀后總結(jié) php學習綱要

    摘要:日期和時間使用類完成讀取設置比較和計算日期與時間。單元測試單元測試是從編寫開始,貫穿于整個開發(fā)周期的一種用于保證函數(shù)類和方法的行為與預期一致的編程方法。是應用的單元測試框架的業(yè)界標準,其他幾個可選框架是行為驅(qū)動開發(fā)行為驅(qū)動開發(fā)有兩種方式和。 《php之道》閱讀地址:http://wulijun.github.io/php-the-right-way/#code_style_guide ...

    gitmilk 評論0 收藏0
  • php - namespace篇

    摘要:中命名空間可以解決兩類問題用戶編寫的代碼與內(nèi)部的類函數(shù)常量或第三方類函數(shù)常量之間的名字沖突。在沒定義命名空間的情況下,所有的常量類函數(shù)等都在全局空間下。注意訪問任意全局類函數(shù)或變量,都可以使用完全限定名稱,例如或者。 之前沒有系統(tǒng)學習過PHP語言,直接上手TP框架了,所以認為namespace和use是TP框架的一部分,最近學習語言模塊的時候遇到了這個問題,所以匯總了一下。 PHP中...

    jimhs 評論0 收藏0
  • TP5學習記錄(Controller篇)

    摘要:可以在入口文件中定義,然后新建文件夾,達到將應用配置放到該文件的目的,這樣方便將配置進行統(tǒng)一管理。動態(tài)配置返回數(shù)據(jù)類型功能同上張三男請求成功 ThinkPHP5 ThinkPHP是一個免費開源的、快速簡單的、面向?qū)ο蟮?、輕量級PHP開發(fā)框架。 為什么選擇ThinkPHP5? ThinkPHP5采用了全新的架構(gòu)思想; 優(yōu)化了核心是一個顛覆性的版本; 支持composer方式安裝; 對...

    leone 評論0 收藏0
  • PHP自動加載功能原理解析

    摘要:前言在開始之前,歡迎關注我自己的博客這篇文章是對自動加載功能的一個總結(jié),內(nèi)容涉及的自動加載功能的命名空間的與標準等內(nèi)容。要實現(xiàn)第一步,第二步的功能,必須在開發(fā)時約定類名與磁盤文件的映射方法,只有這樣我們才能根據(jù)類名找到它對應的磁盤文件。 前言 在開始之前,歡迎關注我自己的博客:www.leoyang90.cn 這篇文章是對PHP自動加載功能的一個總結(jié),內(nèi)容涉及PHP的自動加載功能、P...

    Imfan 評論0 收藏0

發(fā)表評論

0條評論

hsluoyz

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<