php类自动装载和php链式操作的原理

小云云
小云云 原创
2023-03-19 20:56:02 1031浏览

本文主要和大家分享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('\\','//m.sbmmt.com/m/',$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中关于类的自动装载与链式操作以及魔术方法的代码实例

有关链式操作的文章推荐10篇

以上就是php类自动装载和php链式操作的原理的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。