




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PHP新手之学习类与对象 对于PHP程序设计语言来说,每个人的学习方式不同。下面是小编分享的PHP新手之学习类与对象,欢迎大家参考!一、基本概念1、class每个类的定义都以关键字class开头,后面跟着类名,可以是任何非PHP保留字的名字。后面跟着一对花括号,里面包含有类成员和方法的定义。伪变量$this可以在当一个方法在对象内部调用时使用。$this是一个到调用对象(通常是方法所属于的对象,但也可以是另一个对象,如果该方法是从第二个对象内静态调用的话)的引用。看下面例子:Example#1面向对象语言中的$this变量foo();A::foo();$b=newB();$b->bar();B::bar();?>上例将输出:$thisisdefined(a)$thisisnotdefined.$thisisdefined(b)$thisisnotdefined.Example#2简单的类定义var;}}?>Example#3类成员的默认值2、new要创建一个对象的实例,必须创建一个新对象并将其赋给一个变量。当创建新对象时该对象总是被赋值,除非该对象定义了构造函数并且在出错时抛出了一个异常。Example#4创建一个实例复制代码当把一个对象已经创建的实例赋给一个新变量时,新变量会访问同一个实例,就和用该对象赋值一样。此行为和给函数传递入实例时一样。可以用克隆给一个已创建的对象建立一个新实例。Example#5对象赋值var='$assignedwillhavethisvalue';$instance=null;//$instanceand$referencebecomenullvar_dump($instance);var_dump($reference);var_dump($assigned);?>复制代码上例将输出:NULLNULLobject(SimpleClass)#1(1){["var"]=>string(30)"$assignedwillhavethisvalue"}3、extends一个类可以在声明中用extends关键字继承另一个类的方法和成员。不能扩展多个类,只能继承一个基类。被继承的方法和成员可以通过用同样的名字重新声明被覆盖,除非父类定义方法时使用了final关键字。可以通过parent::来访问被覆盖的方法或成员。Example#6简单的类继承displayVar();?>上例将输出:Extendingclassadefaultvalue二、自动加载对象很多开发者写面向对象的应用程序时对每个类的定义建立一个PHP源文件。一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件列表。在PHP5中,不再需要这样了。可以定义一个__autoload函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在PHP出错失败前有了最后一个机会加载所需的类。Note:在__autoload函数中抛出的异常不能被catch语句块捕获并导致致命错误。如果使用PHP的CLI交互模式时,Autoloading不存在。Example#1Autoload例子(本例尝试分别从MyClass1.php和MyClass2.php文件中加载MyClass1和MyClass2类。)三、构造函数和析构函数1、构造函数void__construct([mixed$args[,$...]])PHP5允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。Note:如果子类中定义了构造函数则不会暗中调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用parent::__construct()。Example#1使用新标准的构造函数复制代码为了实现向后兼容性,如果PHP5在类中找不到__construct()函数,它就会尝试寻找旧式的构造函数,也就是和类同名的函数。因此唯一会产生兼容性问题的情况是:类中已有一个名为__construct()的方法,但它却又不是构造函数。2、析构函数void__destruct(void)PHP5引入了析构函数的概念,这类似于其它面向对象的语言,如C++。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。Example#2析构函数示例name="MyDestructableClass";}function__destruct(){print"Destroying".$this->name."";}}$obj=new

书錦****by
实名认证
内容提供者


最近下载
贵州省城市管理行政执法条例.doc
贵州省城市管理行政执法条例.doc
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf