电脑安全

您当前的位置:主页 > 电脑安全 >

PHP中的Magic Methods (魔术函数)-网络编程

来源:[db:来源]标题:   属性    编辑:电脑技术全能网 时间:2019-09-20 12:30

原标题:PHP中的Magic Methods (魔术函数)-网络编程
   上面我将对PHP全部的把戏方式停止先容阐明。实在上面的大少数方式,关于一个及格的PHP顺序员来讲,都是很熟习的货色了。我在这里作个总结,本人作个记载进修,同时也给还未熟习这些方式的同窗们做个先容。若有疏漏和过错,盼望列位能指出。上面所提到的,大少数是PHP5所增添的把戏方式,少局部在PHP4里就曾经存在,少局部则是PHP5.1.0以后才呈现的,这个鄙人面我将会提到。__construct()和__destruct()结构函数__construct()和析构函数__destruct(),这两个不必我多说了吧,是个顺序员都晓得。__construct()会在实例创立的时间被挪用,__destruct()在实例烧毁的时间被挪用。须要留神的时间,即便你不显式地挪用unset去烧毁一个实例,它也会在剧本运转停止的时间被烧毁。这两个方式都能够通报0个或许多个参数。<?phpclass o{ public function __construct() { echo ''building instance''; } public function __destruct() { echo ''destroy instance''; }}$i = new o;unset($i);//这句有无都不影响最初的输入。__destruct()老是会被挪用的//输入//building instance//destroy instance?>__get, __set, __isset, __unset当对一个属性停止操纵的时间,假如该属性弗成取得(不存在,或许以后情况弗成挪用该属性,比方在子类中挪用一个父类的private属性),则挪用以上方式的此中一个。挪用甚么方式是根据对属性所停止的操纵。注:在php 5.0.*里,这4个方式必需为public。__get触发变乱:挪用属性参数 1 :所挪用的属性名例子:<?phpclass o{ protected function __get($var) { return ''No Member:''.$var; }}$i=new o();echo $i->name; // 输入 No Member:name?><?phpclass o{ private $name=''surfchen'';//留神这里的private protected function __get($var) { return ''No Member:''.$var; }}class child extends o{function test(){echo $this->name;}}$c=new child();echo $c->test(); // 输入 No Member:name?>__set触发变乱:对一个属性停止赋值参数 1 :所挪用的属性名参数 2 :所给予的值例子:<?phpclass o{protected function __set($var,$val){echo ''setting ''.$var.'' to ''.$val."";}}$c=new o();echo $c->name=''wolfzeus''; /*输入:setting name to wolfzeuswolfzeus*/?>__isset触发变乱:用isset检测属性能否存在参数 1 :所挪用的属性名例子:<?phpclass o{protected function __isset($var){echo $var.'' have not been set'';}}$c=new o();isset($c->name); /*输入:name have not been set*/?>__unset触发变乱:unset一个属性(不管这个属性能否存在)参数 1 :所挪用的属性名例子:<?phpclass o{protected function __unset($var){echo $var.'' is unset'';}}$c=new o();unset($c->name); /*输入:name is unset*/?>__call($func,$para)当实验挪用一个工具的方式的时间,假如该方式不存在,则挪用__call($func,$para)方式。这个方式必需有两个参数,第一个为挪用的方式名,第二个是一个被挪用方式的参数数组。

上一篇:静态文件实现点击-网络编程

下一篇:没有了