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"; TestsTest1::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();
| 欢迎光临 一起源码网 (https://www.171739.xyz/) | Powered by Discuz! X3.3 |