最新的php类精髓归纳

最新的php类精髓归纳

ID:18294587

大小:54.00 KB

页数:20页

时间:2018-09-16

最新的php类精髓归纳_第1页
最新的php类精髓归纳_第2页
最新的php类精髓归纳_第3页
最新的php类精髓归纳_第4页
最新的php类精髓归纳_第5页
资源描述:

《最新的php类精髓归纳》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、最新的PHP类精髓归纳最新的PHP类精髓归纳一:结构和调用(实例化):classclassName{},调用:$obj=newclassName();当类有构造函数时,还应传入参数。如$obj=newclassName($v,$v2...);二:构造函数和析构函数:1、构造函数用于初始化:使用__construct(),可带参数。2、但析构函数不能带参数(用于在销去一个类之前执行一些操作或功能)。析构函数用__destruct()做名称。在脚本执行结束时,PHP会销掉内存中的对象,因此可不用析造函数,但有

2、些比如COOKIE等,就应当要用此函数销掉。知识点:在PHP4中也提供了构造函数,但使用的是与类同名的类方法,在PHP5仍能兼容这种做法,当一个类中没有包含__construct时,会查找与类同名的方法,如果找到,就认为是构造函数,如下:classtest{var$b;functiontest(){$this->b=5;}functionaddab($c){return$this->b+$c;}}$a=newtest();echo$a->addab(4);//返回93、PHP不会自动调用父类的构造函数(不

3、支持构造函数重载),必须使用parent关键字显式地调用。classemployee{function__construct()....}classManagerextentsEmployee{function__construct(){parent::_construct();echo'这个子类的父类构造函数调用了!';}}当然也可以调用与该实例没有任何关系的其它类的构造函数。只需在__construct()前加上类名即可。如:otherClassName::__construct();类的主家庭成员:

4、属性、方法、常量、静态成员三、类的属性:有两种方法对类的属性赋值或取值。1、使用公共作用域public关键词。2、使用__set()和__get()来分别赋值和取值,前者称为设置方法(setter)或修改方法(mutator),后者称为访问方法(accessor)或获取方法(getter)。建议使用这种方法:优点:A、可在__set()统一进行数据验证。B、便于统一管理属性。注意:第一:__set()和__get()只对私有属性起作用,对于用public定义的属性,它们两个都懒理搭理,如下:classte

5、st{protected$a=9,$b=2,$c;public$d;function__set($n,$v){$this->$n=$v+2;}function__get($name){return$this->$name+2;}}$a=newtest();$a->b=5;echo"
";echo$a->b;实例只对$a,$b,$c的设置会经过__set和__get过滤与返回,对于$d,就不会起作用。如$a->d=5,再返回还是5。第二:__set($n,$v)要带两个参数。而__get($n)只能

6、有一个参数。实例:classtest{private$a=5,$b=6,$c;function__set($n,$v){if($n=='a'&&$n>0)$this->$n=$v;else$this->$n=$v+2;}function__get($name){return$this->$name;//如果改为return$this->$name+$this->addab();如调用a的值,实际返回的是a+a+b的值。默认为5+5+6=16。}functionaddab(){return$this->a+

7、$this->b;}}$e=newtest();$e->a=11;//注意写法:类的内部用$this->$n即变量的写法,但外部实例要用$e->a的方式。$e->b=12;//get14$e->k=22;类的属性可自由扩展,如上例的k,不管是否用__set,当一个实例建立起来后,可以用$e->newProperty=xx;直接来创造一个属性,但不建议这么做。四、类的方法:理解成类当中的函数即可。调用:1、内部调用:可使用$this->Fanname();或$this->addab()或test::adda

8、b();2、实例化调用时,用$e->addab();即可。对于在该方法中没有使用$this关键字的,如上例中的:functionaddab(){return$this->a+$this->b;}改为:functionaddab(){return25;}那在在外部实例调用该方法,也可用“$e::addab();”或“test::addab();”五、类的常量:如果类的属性理解成类中的变量,那么类的常量和变量是不一样的,其定义方法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。