[学习笔记]php中的重载与自动加载
来源:互联网 发布:手机淘宝可以买彩票吗? 编辑:程序博客网 时间:2024/06/18 12:09
重载技术通常含义:在一个类(对象)中有多个名字相同但形参不同的方法的现象。重载在php中的含义:当对一个对象或类使用其未定义的属性或方法的时候,其中的一些“处理机制”属性重载:取值:当对一个对象的不存在的属性进行“取值”的时候,就会自动调用方法:__GET() //可以有一个形参,记录名字赋值:当对当对一个对象的不存在的属性进行“赋值”的时候,就会自动调用方法:__SET()//可以有两个形参,名字 值判断(isset):当对一个对象的不存在的属性进行“isset判断”的时候,就会自动调用方法:__isset()销毁(unset):当对一个对象的不存在的属性进行“unset销毁”的时候,就会自动调用方法:__unset()注:前提是类中存在(定义)了这些方法的具体内容。被称为魔术方法方法重载:当对一个对象的不存在的方法进行“调用”的时候,会自动调用类中的__call()这个魔术方法__call($methedName,$argument){}//必须带两个形参:方法名 实参数据(是一个数组)接口interface只能放抽象方法和常亮的一种类定义形式:interface 接口名{常亮1;常亮2;……抽象方法;}使用:接口名称::常量名称;//抽象方法不用abstact修饰接口对没有多继承的类之间关系的一个补充;class xxx implements xxx,xxx{}//实现接口$rec = mysql_fetch_assoc($result); //数据匹配到数组$rec类的自动加载 __autoload含义:当某行代码需要一个类的会后,php的内部机制可以做到“自动加载该类文件”,以满足该行需要一个类的这种需求。什么时候需要一个类:1.new一个对象的时候;2.使用一个类的静态方法的时候;3.习惯上,类文件的命名要有一定的“规则”,通常是:类名.class.php4.通常,我们需要将各种类,存储在一些特定的目录中,以方便确定其位置5.在该自动加载的函数中,充分使用传过来的类名,以构建一个合适的文件路径并载入。function __autoload($class_name){require "./class/".$class_name.".class.php";}$obj1=new A(); //此时需要A这个类,就会自动调用__autoload函数,并将A类名(字符串)传过去自动加载函数(自定义)spl_autoload_register("autoload1");@作用:不报错??例:<?phpspl_autoload_register("autoload1");spl_autoload_register("autoload2");function autoload1($class_name){$file = './class'.$class_name.'.class.php';if(file_exists($file)){include_once $file;}}function autoload2($class_name){$file = './lib'.$class_name.'.class.php';if(file_exists($file)){include_once $file;}}$a1=new A(); //这个类在class目录下var_dump($a1);$b1=new B();//这个类在lib目录下var_dump($b1);
阅读全文
0 0
- [学习笔记]php中的重载与自动加载
- PHP中的自动加载
- PHP中的自动加载
- PHP中的自动加载
- PHP中的自动加载
- PHP中的自动加载
- PHP中的自动加载
- PHP中的自动加载
- PHP学习笔记 PHP的“重载”
- 关于php中的自动加载类
- 关于PHP中的自动加载函数 __autoload
- php中的自动加载方法的使用
- PHP 自动加载类的方法笔记
- PHP学习笔记之:函数重载
- PHP笔记-自动加载函数库与扩展函数库定义及模板显示与模板替换地址
- php中的学习笔记
- php: __autoload 与 sql_autoload_register 自动加载区别
- php命名空间与自动加载
- Picasso报错 java.io.IOException: Cannot reset
- TCP的状态机
- BIEE 12c使用runcat.sh脚本部署catalog并移除BIConsumer角色
- Linux I2C设备驱动编写(三)-实例分析AM3359
- [php学习笔记]工厂模式,单例模式、抽象类
- [学习笔记]php中的重载与自动加载
- 代码工程目录组织结构之我见
- DIV设置浮动float以后下一个DIV要换行的方法
- Android布局优化技巧--<include>/<merge>/<viewStub>
- 操作系统实验之银行家算法模拟
- [pho学习笔记]对象的克隆、遍历、类型约束
- mac上安装Nginx详细教程
- [Unity] 怎么在Unity5中烘焙lightmap
- 跨模态搜索(cross-modal/media retrieval)