本文主要和大家分享php类自动装载和php链式操作的原理,希望能帮助到大家。
1、自动装载实例
目录下有3个文件:index.php load.php tests文件夹
tests文件夹里有 test1.php
<?php namespace Tests; class Test1{ static function test(){ echo __CLASS__.'<br>'; echo __FILE__.'<br>'; } }
index.php内容
<?php include "load.php"; Tests\Test1::test();
load.php内容
<?php class Loader { static function loadClass($class) { $class = __DIR__.DIRECTORY_SEPARATOR.str_replace('\\','/',$class).'.php'; if (file_exists($class)) { include $class; return; } } } spl_autoload_register(array('Loader','loadClass'));
2.链式操作原理
在一个类中有多个方法,当你实例化这个类,并调用方法时只能一个一个调用,类似:
db.php
<?php class db { public function where() { //code here } public function order() { //code here } public function limit() { //code here } }
index.php
<?php $db = new db(); $db->where(); $db->order(); $db->limit();
如果要实现链式调用,这要在方法的结束添加return $this即可。
db.php
<?php class db { public function where() { //code here return $this; } public function order() { //code here return $this; } public function limit() { //code here return $this; } }
index.php
<?php $db = new db(); $db->where()->order()->limit();
相关推荐:
The above is the detailed content of The principle of PHP class automatic loading and PHP chain operation. For more information, please follow other related articles on the PHP Chinese website!