日期:2014-05-17 浏览次数:20605 次
花一分钟想一下,如何写好一个PHP的类?
..........................................................................
..........................................................................
嗯,这是一个听起来很容易,但是实际操作起来并不容易的问题。前几天和一家公司的技术负责人聊PHP面向对象在公司内的应用,他的意思是:现在很少有PHPer懂面向对象。理由很简单,没有任何一个强制性的理由使你必须使用对象化的PHP。不仅如此,你要明白一件事,面向对象的门槛,不低,但PHP的门槛,很低。
我承认他说的没错,就我这几年的经验来看,很多人只了解到PHP class的基本语法,但是一些核心的思想,如:类的创建原则、设计模式等,这些理论知识的运用没有一定时间的经验是没法真正明白的。我们的困扰主要在以下几个地方:
1. 为什么要用
2. 门槛很高,如何坚持下来
3. 使用场景
4. 有什么好处,我可以使用过程的方法完成的事情,为什么非要使用对象的方法
很遗憾,每一本将面向对象的书都有答案。可是,我们真的能明白么?
刚好,我们在做课程类的产品,因此,我也计划通过实践的方式给出一门主要讲解在PHP环境下如何使用面向对象的课程。我期望这门课程可以非常容易上手,因此我也把它写得非常简单:
1. 介绍使用的环境
2. 每次通过实例讲解一个小的知识点
3. 所有的源码发布到github分享
4. 类库可以被直接使用,且定期更新
这是一个设想,当然也需要真正的实施。
=======================================
=======================================
这几周一直在准备这个事情,已经完成了前三节发布,内容如下:
http://wenku.baidu.com/course/view/7cea0975f46527d3240ce003
第一节:基础开发环境
第二节:使用测试驱动开发
第三节:测试基类的原理和开发
另外,如下章节正在准备中,包括:
第四节:配置文件的管理类:Conf -- 本节将教你使用测试驱动开发
第五节:CSV数据文件的读写:Csv -- 本节将教你使用异常
第六节:常用的验证方法:Validate -- 本节将教你使用多级子类
第七节:数据散列化:SData -- 本节介绍常用的数据散列化使用场景
第八节:数据库连接器的写法:SDB -- 本节介绍使用参数控制配置的方法
第九节:如何引入第三方类:Smarty -- 使用代理
第十节:解析你的注释,使其结构化 -- 比较复杂的综合类包开发
========================================
如果你有什么知识点想通过实践的形式展现出来,也可以给我留言~~我会尽量满足,可能我的解决方案不是最佳的方案,但是也会给一个思路。也欢迎大家提出自己的想法给我,当然也可以投稿(貌似没有稿费,但声明作者是没有问题滴),欢迎欢迎~~