• 技术文章 >后端开发 >php教程

    PHP: 分享5个最近常用的魔术方法

    2016-06-23 13:10:42原创578
    1.__contruct()

    如英文意思,就是构造函数。这个跟普通的构造函数的区别在于,不用每次都定义一个与类名同名的函数作为构造函数。


    2.__call($funcName, $params)

    是在实例调用类中未定的函数时触发的函数

    class Model{    //$funcName: 未定义函数名    //$params(数组): 未定义函数的参数    __call($funcName, $params){            //我这里没有用到$params        return "the function: $funcName is not exist!"    }}$model =new Model();$model->func();  //函数func不存在,就会触发__call

    3.__get($name)

    用来调用类中的非公有属性:

    class Model{    private host ="http://localhost";    public function __get($name){        return $this->$name;    }}$model =new Model();$model->host;

    4.__set($name, $value)

    和__get方法相对应,用来给非公有属性的赋值

    class Model{    private host =null;    public function __set($name, $value){        $this->$name =$value;    }}$model =new Model();$model->host ="http://localhost";

    5.__autoload()

    这个是用来引入类文件的,一般我们是用include、include_once、require、require_once来引入文件的

    但是如果我们要引入多个文件,就要写当好的引入语句,这样既不方便又不美观,__autoload可以解决这个问题

    ,他最大的好处是他的懒惰属性,实例化对象的时候才会引入对应的类文件。

    //比如我的Model类文件Model.class.php 在当前目录的上一层目录下的Model/Model.class.php(其实就是引入类文件的路径)function __autoload($className) {    //$className就是类名    $filename = "../Model/". $className .".class.php";    //组合路径    require_once "$filename";    //引入类文件}//只要一实例化对象就会触发这个函数


    php入门到就业线上直播课:查看学习

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

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:【高并发简单解决方案】redis缓存队列+mysql 批量入库+php离线整合 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP与MySQL连接的方法总结• 求解:phpcms模板怎样转码?该怎么解决• php 之 cookie 跟 session 简单解读(笔记)• php怎的快捷知道某个函数在哪个文件用过
    1/1

    PHP中文网