网站大量收购闲置独家精品文档,联系QQ:2885784924

PHP程序设计基础(微课版)(第2版)课件 5.PHP的自动加载与范围操作解析符.pptx

PHP程序设计基础(微课版)(第2版)课件 5.PHP的自动加载与范围操作解析符.pptx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档