⑴ thinkphp__ROOT__、__PUBLIC__ 在哪個文件里定義的
thinkphp__ROOT__在ThinkPHP.php中定義;__PUBLIC__在ContentReplaceBehavior.class.php文件中定義。
1、因為__ROOT__ php常量都會在ThinkPHP.php中定義,而thinkphp__ROOT_就屬於__ROOT__ php常量,因此其定義的路徑就是Thinkphp/ThinkPHP.php。
2、__ROOT__、__PUBLIC__ 模板常量這兩者都會在ContentReplaceBehavior.class.php文件中定義,因此其定義的路徑是.class.php。
(1)php中public擴展閱讀
ThinkPHP提供了靈活的配置功能,採用最有效率的PHP返回數組方式定義,支持慣例配置、項目配置、調試配置和模塊配置,並且會自動生成配置緩存文件,無需重復解析的開銷。對於有些簡單的應用也無需配置任何配置文件,而對於復雜的要求,還可以增加模塊配置文件,另外ThinkPHP的動態配置可以使在開發過程中靈活地調整配置參數。
⑵ PHP中private和public還有protected的區別
public:聲明方法和屬性可以被隨意訪問。
Protected:聲明的方法和屬性只能被類本身和其繼承子類訪問。
private:只能被定義屬性和方法的類訪問。
private 是完全私有的,只有當前類中的成員能訪問到.
protected 是受保護的,只有當前類的成員與繼承該類的類才能訪問.
protected的訪問權介於public和private之間,實際上三者的區別就是許可權問題,private和protected區別主要體現在其繼承類的訪問許可權上,這些你可以自己編寫一個程序,寫個類,編譯一下你就很清楚他們許可權的區別了。
私有成員private member
只能被成員函數和類的友元訪問
實行信息隱藏的類把其數據成員聲明為private
被保護成員protected member
對派生類derived class 就像public 成員一樣
對其他程序則表現得像private
⑶ php怎麼理解這些個關鍵字啊,public;private;protect;final;static;const;我感覺這
public: 公有屬性或方法
在子類中可以通過self::var 或self::method 來調用,可以通過parent::method來調用父類中的方法,但不能調用公有屬性.
在實例中可以通過$obj->var或self::method 來調用
protected: 受保護類型
在子類中可以通過self::var 或self::method調用,可以通過parent::method來調用父類中的方法
在實例中不能通過$obj->var 來調用 protected類型的方法或屬性
private: 私有類型
該類型的屬性或方法只能在該類中使用,在該類的實例、子類中、子類的實例中都不能調用私有類型的屬性和方法
再來說說final
1.final不能用來修飾成員屬性
2.final只能修飾類和方法
作用:被修飾的類不能被子類所繼承;被修飾的方法不能被子類的方法覆蓋。
然後來說說static
1.static用來修飾成員屬性和成員方法,但不能用來修飾類
2.用static修飾的成員屬性可以被同一個類的所有對象共享
3.靜態的數據是存在 內存中的 數據段中(初始化靜態段)
4.靜態的數據是在類在第一次載入時,分配到內存中的
5.什麼是類被載入?只要在程序中使用到這個類(有這個類名出現)
6.靜態的成員屬性都要用類名去訪問,不用創建對象,不用對象去訪問;在類里邊可以用self代表本類($this)
7.靜態方法,不能訪問非靜態的成員屬性(但是,在非靜態方法卻能訪問靜態的成員屬性),非靜態的成員屬性,必須用對象訪問,在內部訪問非靜態成員屬性,用$this.
8.如果你確定一個方法中不需使用到非靜態的成員屬性,則可以將這個方法聲明為靜態方法,不需實例化對象,就可以訪問
最後來說說const
1.它只能用來修飾成員屬性
2.在類中聲明常量必須使用const
3.訪問方式和訪問靜態成員屬性一樣(類外使用 類名::成員屬性,類里邊則使用self::成員屬性)
4.常量一定要在聲明的時候就給初始值
⑷ php 類裡面的方法前加public跟不加public有什麼不同嗎 順便說說php類前面有沒有這些public等等的修飾
沒有不同呀,方法默認就是public的啦。。有這些修飾的,有public,protected,還有private還其他編程語言是差不多的啦,
如:
class person{
function method1()
{
//這是公有的和下面的public一樣
}
public function method2()
{
//
}
protected function method3()
{
//保護的
}
private function method4()
{
//私有的
}
}
⑸ php class中public,private,protected,static
1. public:許可權是最大的,可以內部調用,實例調用
2. protected: 受保護類型,用於本類和繼承類調用
常用場景在許可權設置
有需要用到許可權的Class,只要繼承Base這個Class即可用到登錄驗證。執行Login的時候會先運行Base裡面的方法
3. private: 私有類型,只有在本類中使用。
4. static: 一般是在傳值的時候使用,表示值不會被修改,默認為public,可用::訪問