Rumah >pembangunan bahagian belakang >tutorial php >php类自动装载和php链式操作的原理

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

小云云
小云云asal
2018-02-03 10:16:151389semak imbas

本文主要和大家分享php类自动装载和php链式操作的原理,希望能帮助到大家。

1、自动装载实例

目录下有3个文件:index.php load.php tests文件夹

tests文件夹里有 test1.php


<?php
namespace Tests;
class Test1{
  static function test(){
    echo __CLASS__.&#39;<br>&#39;;
    echo __FILE__.&#39;<br>&#39;;
  }
}

index.php内容


<?php
include "load.php";
Tests\Test1::test();

load.php内容


<?php
class Loader
{
  static function loadClass($class)
  {
    $class =  __DIR__.DIRECTORY_SEPARATOR.str_replace(&#39;\\&#39;,&#39;/&#39;,$class).&#39;.php&#39;;
    if (file_exists($class)) {
      include $class;
      return;
    }
  }
}
spl_autoload_register(array(&#39;Loader&#39;,&#39;loadClass&#39;));

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篇

Atas ialah kandungan terperinci php类自动装载和php链式操作的原理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn