PHP: 分享5个最近常用的魔术方法
Jun 23, 2016 pm 01:10 PM
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"; //引入类文件}//只要一实例化对象就会触发这个函数

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Bekerja dengan Data Sesi Flash di Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Respons HTTP yang dipermudahkan dalam ujian Laravel

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon

Pengumuman Penyiasatan Situasi PHP 2025
