zoukankan      html  css  js  c++  java
  • php自动加载类

    先说一个魔术方法 

    __tostring()方法

    当我们在定义类中成员后,通过构建对象,我们无法直接通过输出对象得到对象的内容,这时我们可以通过构造一个魔术方法__tostring(),在构建对象的同时,启用这个魔术方法,从而达到直接输出对象内容的目的

    例子

    class Ren
    {
    public $name;

    public function __tostring()
    {
    return "该类是人类,name代表姓名";
    }
    }

    $r = new Ren();
    echo $r;

    克隆

    通过克隆的方法,可以不构建对象,直接克隆已经创建的对象,使克隆对象得到原对象的所有属性方法等全部内容

    克隆有两种方式 1.直接调用在类中通过克隆的方法来实现 2.外部通过构造克隆对象来实现

    class Ren
    {
    public $name="张三";

    public function __clone()      //克隆方法1
    {
    $this->name = "李四";
    }
    }

    $r = new Ren();

    $c = clone $r;           //克隆方法2,
    echo $r->name;
    echo $c->name

    加载类


    当本页面引用外部类文件时,通过加载类的方法来实现 (外部类的命名规则  类名.class.php)

    加载类的实现方法有下列几种

    1.    include("./Ren.class.php");   //会引用类的全部,包括错误,从而可能会引起本页面崩溃
    2.    include "./Ren.class.php";

    3.    require("./Ren.class.php");    //只会引用类的相关内容,不容易引入错误而产生的崩溃
    4.    require "./Ren.class.php";
    5.    require_once("./Ren.class.php");     //可以写多个而不会报错
    6.    require_once "./Ren.class.php";

    自动加载类  (__autoload)
    1.所有的类文件写在同一个目录下
    2.类文件的命名规则要一致
    3.类的文件名要和类名保持一致

     例:

      function __autoload($classname)
            {
              require_once("./".$classname.".class.php");
            }

  • 相关阅读:
    cookie、session和会话保持
    常见的一些专业术语的概念
    JS中的执行机制(setTimeout、setInterval、promise、宏任务、微任务)
    加密和解密
    ASCII 、UTF-8、Unicode编码
    localhost、127.0.0.1、本机ip、0.0.0.0 的区别
    使用Bootstrap框架的HTML5页面模板
    js判断是否在微信浏览器中打开
    js获取url的参数
    js动态生成下拉列表
  • 原文地址:https://www.cnblogs.com/du892294464/p/6740981.html
Copyright © 2011-2022 走看看