本文主要和大家分享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();
相关推荐:
以上がPHPクラスの自動ロードとPHPチェーン動作の原理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。