• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-23) 15次浏览 已收录 0个评论

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 __aut<a style="color:transparent">本@文来源gao($daima.com搞@代@#码(网5</a><strong>搞gaodaima代码</strong>oload($className) {    //$className就是类名    $filename = "../Model/". $className .".class.php";    //组合路径    require_once "$filename";    //引入类文件}//只要一实例化对象就会触发这个函数

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP: 分享5个最近常用的魔术方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址