php類別自動裝載和php鍊式操作的原理

小云云
發布: 2023-03-19 20:56:02
原創
1341 人瀏覽過

本文主要和大家分享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篇

以上是php類別自動裝載和php鍊式操作的原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!