- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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
- PHP程序设计基础(微课版)(第2版)课件 5.PHP留言本后台管理 登录回复及删除.pptx
- PHP程序设计基础(微课版)(第2版)课件 5.PHP数组与变量的转换.pptx
- PHP程序设计基础(微课版)(第2版)课件 5.变量类型转换.pptx
- PHP程序设计基础(微课版)(第2版)课件 6.PHP数组检索与排序.pptx
- PHP程序设计基础(微课版)(第2版)课件 6.变量中的常用函数.pptx
- PHP程序设计基础(微课版)(第2版)课件 6.类的静态成员属性和静态方法.pptx
- PHP程序设计基础(微课版)(第2版)课件 6变量中的常用函数1.pptx
- PHP程序设计基础(微课版)(第2版)课件 7.PHP类 的常量和特殊方法.pptx
- PHP程序设计基础(微课版)(第2版)课件 7PHP常量.pptx
- PHP程序设计基础(微课版)(第2版)课件 7数组与数据结构及数组集合类函数.pptx
最近下载
- 《语言障碍的康复》课件.ppt VIP
- 2025年中国小家电未来发展趋势分析及投资规划建议研究报告.docx VIP
- 语言与言语训练的方法课件.ppt VIP
- 统编版2024道德与法治七年级上册 教材单元思考与行动解答示例.pptx
- DB52T 780—2012贵州省白酒工业旅游示范点评定规范.pdf VIP
- 2025年医院招聘考试公共基础知识历年试题及答案解析(4).docx VIP
- (2025秋新版)北师大版三年级数学上册《铅笔有多长》PPT课件.pptx VIP
- NASA推导航软件找最佳路线.PDF VIP
- 2014年中国小家电礼品市场投资战略咨询报告.doc VIP
- 2023年-2024年企业人力资源管理师之三级人力资源管理师真题精选附答案.pdf VIP
文档评论(0)