- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
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
?php
classPerson{
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();?$P
您可能关注的文档
- PHP程序设计基础(微课版)(第2版)课件 1.PHP数组概述、分类及声明.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP数组概述及分类.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP用户注册简介及数据库介绍.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP正则表达式简介及语法.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.WEB程序工作原理.pptx
- PHP程序设计基础(微课版)(第2版)课件 2.PHP SESSION会话.pptx
- PHP程序设计基础(微课版)(第2版)课件 2.PHPMYADMIN数据库操作.pptx
- PHP程序设计基础(微课版)(第2版)课件 2.PHP表单输入与验证.pptx
- PHP程序设计基础(微课版)(第2版)课件 2.PHP管理MYSQL数据库中的数据.pptx
- PHP程序设计基础(微课版)(第2版)课件 2.PHP简介.pptx
最近下载
- 最美物业人客服主管先进事迹.docx VIP
- 我国长期护理保险试点评估及政策优化.pdf
- 京东客服年终工作总结PPT.pptx
- 《风电项目建设规划方案》.doc VIP
- 精品解析:2022-2023学年浙江省宁波市余姚市部编版六年级上册期末考试语文试卷-A4答案卷尾.docx VIP
- MELSEC-L串行通信模块 用户手册(基本篇).pdf
- 《小学数学单元作业设计的案例研究》结题报告.docx VIP
- 水利工程强制性条文识别执行计划实施方案-- 水利范本.pdf
- 辽宁省实验中学2023-2024学年高二下学期第一次月考化学试题.pdf
- 第七课 在集体中成长同步练习题-2024年统编版道德与法治七年级上册(含答案).doc VIP
文档评论(0)