




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.8PHP自动加载类、范围操作解析符陈学平8PHP自动加载类9.3::访问父类覆盖成员和方法的实例9.2::访问静态成员、方法实例9范围解析操作符(::)目录018PHP自动加载类8PHP自动加载类__autoload()方法用于自动加载类。在实际项目中,不可能把所有的类都写在一个PHP文件中,当在一个PHP文件中需要调用另一个文件中声明的类时,就需要通过include把这个文件引入。不过有的时候,在文件众多的项目中,要一一将所需类的文件都include进来,需要在每个类文件开头写一个长长的包含文件的列表。那么能不能在使用类的时候,再把这个类所在的php文件导入呢?为此,PHP提供了__autoload()方法,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在PHP出错失败前有了最后一个机会加载所需的类。8PHP自动加载类__autoload()方法接收的一个参数,就是欲加载的类的类名,所以这时候需要类名与文件名对应,如Person.php,对应的类名就是Pserson。实例6_使用_autoload()方法自动加载类实例代码如下:Pserson.php<?phpclassPerson{private$name;private$age;
function__construct($name,$age){
$this->name=$name;
$this->age=$age;
}
functionsay(){ echo"我的名字叫:".$this->name."<br/>"; echo"我的年龄是:".$this->age;
}}?>8PHP自动加载类test.php<?phpfunction__autoload($class_name){require_once$class_name.'.php';}//当前页面Pserson类不存在则自动调用__autoload()方法,传入参数Person$p1=newPerson("张三","20");$p1->say();?>运行test.php,输出:我的名字叫:张三我的年龄是:20高版本PHP使用下面的方式调用spl_autoload_register(function($class){$file='classes/'.$class.'.class.php';if(file_exists($file)){require$file;}});029范围解析操作符(::)9.1范围解析操作符(::)范围解析操作符(::)是一对冒号,可以用于访问静态成员、方法和常量,以及被覆盖类中的成员和方法。当在类的外部使用::符号访问这些静态成员、方法和常量时,必须使用类的名字,如下面实例所示。039.2::访问静态成员、方法实例9.2::访问静态成员、方法实例<?phpClassPerson{
//定义静态成员属性
publicstatic$country="中国";
//定义静态成员方法
publicstaticfunctionmyCountry(){
//内部访问静态成员属性
echo"我是".self::$country."人<br/>";
}}//输出静态成员属性值echoPerson::$country."<br/>";//访问静态方法Person::myC输出结果中国我是中国人使用
::符号访问静态成员及方法参考PHP静态(static)。049.3::访问父类覆盖成员和方法的实例9.3::访问父类覆盖成员和方法的实例实例8使用::访问父类覆盖成员和方法实例代码如下:<?phpclassPerson{
var$name;
var$sex;
var$age;
functionsay(){
echo"我的名字叫:".$this->name."<br/>";
echo"性别:".$this->sex."<br/>";
echo"我的年龄是:".$this->age;
}}9.3::访问父类覆盖成员和方法的实例classStudentextendsPerson{
var$school;
functionsay(){
parent::say();
echo"我在".$this->school."上学";
}}//$P1=newPerson();
$P2=new
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 展示自己职业风采课件
- 2023年广东省初中地理中考试题及答案
- 试卷教学课件
- 车辆无偿支持公益项目使用合同
- 股票市场投资策略研究及定制化服务协议
- 金属矿产资源采矿权质押借款合同范本
- DJ音乐活动策划艺人聘用合同
- BPMF教学课件模板
- 田字格竖弯钩教学课件
- 2024-2025学年湖南师大附中高一下学期第二次大练习生物试题及答案
- 《取水许可核验报告编制导则(试行)(征求意见稿)》
- 水质检测员年终总结
- 老年消防知识讲座
- Filemaker数据库使用指南知识分享
- 国开《Windows网络操作系统管理》形考任务四
- 铁道概论(第八版)佟立本主编
- 2024年海关与报关行业培训资料
- 《运动生理学》期末考试复习题库(含答案)
- 学生人力资源(董克用)复习题汇总
- 《小学语文阅读有效教学策略研究》开题报告
- 云南省昆明市西山区2022-2023学年五年级下学期期末科学试卷
评论
0/150
提交评论