- 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
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
最近下载
- ansys结构声振耦合解决方案.pptx VIP
- ANSYS系统仿真与数字孪生解决方案.pptx VIP
- 第17课 电脑动画 教案 人教版 美术 五年级上册.docx VIP
- 湖北省黄冈市2025年八年级上学期1月期末英语试题(含答案).docx VIP
- 娱乐先锋II_高级KTV系统.pdf VIP
- 汽车软件简介演示.pptx VIP
- 水处理大法聚二甲基二烯丙基氯化铵在给水除藻中的作用应用的探讨.doc VIP
- 2026龙飞平面图形推理基础理论➕百大图形3.0版本.pdf VIP
- 连云港“高质发展、后发先至”-全面建设连云港小康社会继续教育题库及.pdf VIP
- 水污染控制工程第11章.ppt VIP
文档评论(0)