php语言介绍分析

1,胡说八道
php设计专门用于web开发的编程语言,易学易用得到广泛应用的同时也饱受诟病,简单易学使得初学者用最短的时间很容易实现自己的WEB站点,且开源项目丰富,是中小型公司热衷的选择。但是,随着站点流量的增加、更多功能需求的增加、逻辑复杂度增加,php会让你陷入麻烦之中,php开发人员需要对php语言做深入的理解、对web站点的实践做深入的理解,对设计和技巧的应用才能解决麻烦。php语言很特殊,既有设计之初的面相过程写法,也有php4之后引入类之后的面相对象的写法,语法糖,弱语言类型等一切为开发速度的提升服务。
2,获取帮助渠道
手册 、开源社区 、google
3,面向对象OOP
OOP是一种用于开发结构合理并可维护的编程方法,由于php经常看到面向过程的写法,很多phper把OOP当作神秘的艺术。OOP最重要的可能就是代码重用,相同的问题可以用同一段代码解决。面向对象的代码存储库也不断的完善PEAR和PHP Classes,可以节省重复造轮子的时间,把更多精力放在业务逻辑等其他方面。php5对对象模型的完善和性能都得到显著提高。
类的概念:事物的通用抽象,定义对象的属性方法。
封装和可见性:封装是OOP的基本概念,概念是 一个类应该具有一个公共接口(属性方法)和一个私有实现(内部实现机制),通过公共API能够输出结果,隐藏内部实现机制。通过类的属性方法的可见性来实现公共接口和私有实现,public protected private,很多人喜欢把类都定义成public,避免考虑封装带来的问题。但是对于用户必须了解如何使用这个类,用户看了public的这些公共可见性的东西使用起来都是安全的,可能重写这些公共的类,造成严重的问题!所以尽可能把属性和方法的可见性缩小到最小满足封装的目标。
__construct 初始化对象的属性, __destruct 消除对象的痕迹(关闭数据库连接和文件句柄等),__ 包含的其他魔法函数使用起来很方便
继承:面向对象基本概念,php实现对象的单继承,继承父类的所有public protected属性和方法,子类能够覆盖继承的属性和方法,方法覆盖时参数要一致(5.3 Strict Standards报错,E_STRICT在php手册定义为 PHP建议...,为了保证向前兼容性和操作性建议开启),即使覆盖了父类的方法任然能使用父类的方法(parent::, ::被称作范围解析云算符),__constract要注意(子类覆盖时候没有java等其他面向对象语言的级联构造函数,要手动实现父类的构造)
对象的组合聚合:对象除了继承之外的另一种交互方式。
聚合可以理解为第二个对象通过方法的参数传递给第一个对象,这样第一个对象就可以调用第二个对象的方法了,优点是 对象可以被多个对象共享使用,对象改变状态可能导致其他对象无法使用
组合可以理解成第一个对象实例化第二个对象,完全拥有第二个对象,对象不能够共享给其他对象,可读性高,封装性更好,但是两个对象的耦合性更高重用困难
多态 :多个对象共享同一个接口,可以实现互换,即“一个对外接口,多个内部实现方法”,同一个操作作用于不同的类的实例,将产生不同的执行结果。也即不同类的对象收到相同的消息时,将得到不同的结果。 php接口(提供方法名称,不提供方法体)。实际的应用开发中,采用面向对象中的多态主要在于可以将不同的子类对象都当作一个父类来处理,并且可以屏蔽不同子类对象之间所存在的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。因为PHP本身就是一种弱类型的语言,不存在父类对象转化为子类对象或者是子类对象转化为父类对象的问题,所以多态的应用并不是那么的明显
4,如何编写可移植性代码
并非所有php运行的环境都是一样的。php版本 php.ini文件配置不同,脚本可能不能在另一服务器运行,所有应当采用普遍接受的最佳实践配置,提高兼容性。
最佳实践: 保持配置集中放置、编写可重用行代码、使用完整的php标记、使用全局超级变量
5,缓存
缓存是几乎所有应用都在用的一种数据优化存储方式,但是数据的实时性带来的问题该怎么解决不使用缓存?
浏览器缓存:html的meta标签和http头可以阻止使用缓存
6,代码管理 GIT
7,代码部署 构建系统
 
 

posted @ 2018-09-30 14:23  helloworldlee  阅读(2883)  评论(0编辑  收藏  举报