1、自動裝載例項
目錄下有3個檔案:index.php load.php tests資料夾
tests資料夾裡有 test1.php
<?phpnamespace tests;
class
test1
}
index.php內容
<?phpinclude "load.php";
tests\test1::test();
load.php內容
<?phpclass
loader
}}spl_autoload_register(
array('loader','loadclass'));
2、鏈式操作
namespace baobab;class
database
function order($order
)
function limit($limit)}
?>
$db = new
baobab\database();
$db->where('id = 1')->order('order by id')->limit(1);
3、魔術方法:
__get/__set:接管物件屬性。在給不可訪問屬性賦值時,
__set() 會被呼叫;讀取不可訪問屬性的值時,__get() 會被呼叫。
__call/__callstatic:在物件中呼叫乙個不可訪問方法時,__call() 會被呼叫;用靜態方式中呼叫乙個不可訪問方法時,__callstatic() 會被呼叫。
__tostring:乙個類轉化成字串
__invoke:以呼叫函式的方式呼叫乙個物件時,__invoke() 方法會被自動呼叫。
<?phpnamespace baobab;
class
object
function __get($key
)
function __call($func, $param
)
static
function __callstatic($func, $param
)
function
__tostring()
function __invoke($param
)
}
$obj = new baobab\object();$obj->title = 'hello';
echo
$obj->title;
echo
$obj->test1('hello', 123);
echo
$obj::test1('hello1', 1234);
echo
$obj
;echo
$obj('test1');
PHP 如何定義類 成員屬性及其操作與魔術方法
php 類的定義與屬性 一 類的定義 類的關鍵字定義使用 class 例 class test 二 類的屬性與方法 class test 三 定義乙個不能繼承的類 final class test final關鍵字只能修飾類和方法 不能用來修飾成員屬性 四 類 成員屬性及方法的宣告 1 public...
Php 鏈式執行,PHP實現鏈式操作的三種方法詳解
在php中有很多字串函式,例如要先過濾字串收尾的空格,再求出其長度,一般的寫法是 strlen trim str 如果要實現類似js中的鏈式操作,比如像下面這樣應該怎麼寫?str trim strlen 下面分別用三種方式來實現 方法一 使用魔法函式 call結合call user func來實現 ...
php自動載入類,PHP中類的自動載入的方法
類的自動載入是指,在外面的頁面中,並不需要去 引入 類檔案,但是程式會在需要的時候動態載入需要的類檔案。方法1 使用 autoload魔術函式 當程式需要某個類時,就會去呼叫該函式,該函式我們需要自己去定義並在其中寫好載入類檔案的通用語句。需要類是自動呼叫,而且會傳進來乙個類名,這個案例的檔名為21...