Maison >développement back-end >tutoriel php >Le principe du chargement automatique de la classe PHP et du fonctionnement de la chaîne PHP

Le principe du chargement automatique de la classe PHP et du fonctionnement de la chaîne PHP

小云云
小云云original
2018-02-03 10:16:151389parcourir

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn