PHP程序设计基础(微课版)(第2版)课件 5.PHP的自动加载与范围操作解析符_第1页
PHP程序设计基础(微课版)(第2版)课件 5.PHP的自动加载与范围操作解析符_第2页
PHP程序设计基础(微课版)(第2版)课件 5.PHP的自动加载与范围操作解析符_第3页
PHP程序设计基础(微课版)(第2版)课件 5.PHP的自动加载与范围操作解析符_第4页
PHP程序设计基础(微课版)(第2版)课件 5.PHP的自动加载与范围操作解析符_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论