文档章节

在PHP中使用类可能需要注意的地方

41区开源技术小组
 41区开源技术小组
发布于 2014/09/25 02:21
字数 545
阅读 36
收藏 0

PHP中的类与Java,C++有些相似的地方,不过有这么几点需要注意:

  1. 在PHP中不存在重载定义,也就是说对于PHP而言,不能出现同一个方法名,不同参数变量的情况

  2. PHP中允许使用new关键字来初始化类

  3. 在PHP中的类,可以含有private、public和protected权限修饰,同Java和C++相同

  4. 在PHP类中,要使用该类的属性,必须要用this关键字来调用,不能直接使用属性

  5. 在PHP类中的this关键字与C++相同,$this->[属性]|[方法名]

  6. 在PHP类中的所有方法调用都与C++对象方法调用一样,不能使用“.”来调用

  7. 在PHP类中类似于Java的super关键字更换为parent关键字

  8. 在PHP类中的构造函数只能有一个,要么使用__construct()来定义,要么与类名相同

  9. 在PHP类中也有对象销毁方法,为__destory(),但不一定要重写

  10. 在PHP类中也有toString方法,为__toString(),当然需要返回值为String

  11. 在PHP4版本后出现了恒等算术运算,即===与!==,这个更加严格,但没有类似于Java的equals和hashCode方法

  12. 在PHP类中存在static关键字,调用static方法,与C++相同

  13. 在PHP类中如果要使用常量,不能像Java那样用final关键字,但是PHP中存在final关键字,要使用const关键字,与C++相同

  14. 最重要的一点,PHP类中存在多态,也就是说含有接口,抽象类,接口与抽象类与Java用法相同

  15. 存在instanceof关键字,与Java相同

  16. 存在异常处理,但不是必须的,与Java相同,但只有一个类Exception,且大部分方法都是final的,也就是无法被继承的

  17. 存在与数据库连接的类mysqli,但是很多空间都不支持,可以通过mysql过程函数来替换

  18. 最令人兴奋的是,存在反射机制,用法与Java类似


本文出自 “博远至静” 博客,请务必保留此出处http://sunspot.blog.51cto.com/372554/190135

© 著作权归作者所有

共有 人打赏支持
41区开源技术小组

41区开源技术小组

粉丝 5
博文 17
码字总数 16241
作品 3
大兴
程序员
私信 提问
php-msf 源码解读

date: 2017-12-22 11:29:15 title: php-msf 源码解读 php-msf: https://github.com/pinguo/php-msf 百度脑图 - php-msf 源码解读: http://naotu.baidu.com/file/cc7b5a49dfed46001d22222b1af......

daydaygo
2017/12/24
0
0
PHP使用__autoload()自动加载未定义的类

稍微了解PHP发展历史的人都知道,PHP最初诞生的时候只支持面向过程化的编码方式,不过随着PHP在web开发领域越来越流行以及大型web站点建设的需要,从PHP 4开始,PHP也开始支持面向对象编程了...

nsns
2018/05/07
0
0
php-msf 源码解读【转】

$response = yield $this->getRedisPool('tw')->get('apiCacheForABCoroutine'); // msf - 并发协程调用 $client1 = $this->getObject(Client::class, ['http://www.baidu.com/']); yield $......

sunsky303
2017/12/26
0
0
PHPUnit 单元测试入门笔记

PHPUnit 单元测试入门笔记 为什么要进行单元测试? 项目代码经常修改,往往修改一下地方后,其它地方可能相应地也需要作一些修改,但常常被忽视了,从而经常出现各种小 bug,怎样减少这类错误...

阿桂1989
02/25
0
0
YII composer全局安装

php版本需要大于php5.4 需要开启php openssl扩展 找到php安装源码包中的ext目录下面的openssl目录 make && make install 全局安装 你可以将此文件放在任何地方。如果你把它放在系统的 目录中...

蜗牛奔跑
2015/08/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go Timer实现原理剖析

简介 快速使用 操作介绍

恋恋美食
刚刚
0
0
记录一个奇怪的问题

环境:jdk1.8虚拟机参数:-verbose:gc -XX:+PrintGCDetails -Xmx20m -Xms20m -Xmn10m -XX:SurvivorRatio=8  -XX:+HeapDumpOnOutOfMemoryError 可以看出,eden占8M却放不下6M数据,发生了......

暗中观察
28分钟前
0
0
创建多个git账号

实习开发中我们可能一个机子上配置多个git账号,如github.com,oschina.com 或者工作账号,私人账号,这时候就2个账号用一个key,肯定会冲突,有一个会提示没权限(账号和密码对应不上) ssh ...

echojson
31分钟前
1
0
rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
7
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部