




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
黑马程序员_PHP_课程同步笔记day33:类和对象的其他相关技术[推荐] 第一篇:黑马程序员_PHP_课程同步笔记day33:类和对象的其他相关技术[推荐]类和对象的其他相关技术类的自动加载:基本概念:当在一个代码中,需要使用一个类(比如new),但此时,在这行代码之前,都没有出现过该类的定义,则php有一种机制,可以让系统这个时候去调用一个函数,在该函数中,我们就可以预先写好加载类的代码——这样就实现了类的自动加载。该函数就是:__autoload()该函数使用形式如下:function__autoload($class_name){//这里就可以去写加载类的代码,其中://$class_name就代表“正需要”的那个类名;}[PHP]纯文本查看复制代码?1黑马程序员济南中心编著可见,实现这种类的自动加载的方便性,需要做到:1,类文件名有一个统一的形式:比如:类名.clsss.php2,统一都放在一个文件夹中;3,尽可能做到:一个类文件中,只放一个类的定义;自定义类的加载函数使用下述函数,可以人为定义“多个”自动加载函数(这些函数的作用跟__autoload)一样。使用形式:spl_autoload_register(“自动加载函数名1”);spl_autoload_register(“自动加载函数名2”);。。然后就可以去定义这些函数了在运行的时候,如果需要一个类,就先调用第1个函数去“试图”加载该类,如果在该函数中没有加载成功,就会继续调用下一个函数继续“试图”加载该类,依此类推。。举例:[PHP]纯文本查看复制代码?0104spl_autoload_register(“auto1”);黑马程序员济南中心编著05spl_autoload_register(“auto2”);06functionauto1($class_name){07echo“进入auto1,需要:$class_name”;08$file=“./{$class_name}.class.php”;09if(file_exists($file)){10include_one$file;11}12}13functionauto2($class_name){14echo“进入auto2,需要:$class_name”;15$file=“./{$class_name}.class.php”;16if(file_exists($file)){17include_one$file;18}19}20$obj1=newA();22echo“”;23var_dump($obj1);24$obj2=newB();26echo“”;黑马程序员济南中心编著var_dump($obj2);展示结果为:进入auto1,需要:Aobject(A)#1(0){}进入auto1,需要:B进入auto2,需要:Bobject(B)#2(0){}对象的复制$obj1=newA();$obj2=$obj1;//这里,虽然是值传递,但因为对象数据存储的特殊性,并没有复制对象数据本身//即,并没有生成一个新对象;要想复制一个对象——得到一个完完全全的相同的对象,只能这样:$obj3=clone$obj1;[PHP]纯文本查看复制代码?01黑马程序员济南中心编著05}0607$obj1=newA();08$obj2=$obj1;09$obj3=clone$obj1;10var_dump($obj1);11var_dump($obj2);12var_dump($obj3);13$obj1->p1=11;15var_dump($obj1);16var_dump($obj2);17var_dump($obj3);展示效果:object(A)#1(1){[“p1”]=>int(1)}object(A)#1(1){[“p1”]=>int(1)}object(A)#2(1){[“p1”]=>int(1)}object(A)#1(1){[“p1”]=>int(11)}object(A)#1(1){[“p1”]=>int(11)}object(A)#2(1){[“p1”]=>int(1)}黑马程序员济南中心编著可见,普通赋值所得到的对象,仍然是原来的对象;只有clone所得到的对象,才是一个全新的对象;注意:1,当对一个对象进行克隆的时候,就会自动调用系统中的__clone()魔术方法(如果有);2,因此,对于单例类的需求来说,就应该做到:禁止克隆,写法:privatefunction__clone(){}对象的遍历跟数组类似,对象的“所有属性”,也是可以进行遍历的——一个一个取出。形式:foreach($对象as$prop=>$value){//$prop表示属性名;//$value表示对应的属性值;}注意:其

听容****55
实名认证
内容提供者


最近下载
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
论《离骚》诠释史中的“香草”意蕴.docx
论《离骚》诠释史中的“香草”意蕴.docx