日期:2014-05-17  浏览次数:20605 次

如何写好一个PHP的类 (附:视频课程地址)

花一分钟想一下,如何写好一个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 -- 使用代理

第十节:解析你的注释,使其结构化 -- 比较复杂的综合类包开发


========================================

如果你有什么知识点想通过实践的形式展现出来,也可以给我留言~~我会尽量满足,可能我的解决方案不是最佳的方案,但是也会给一个思路。也欢迎大家提出自己的想法给我,当然也可以投稿(貌似没有稿费,但声明作者是没有问题滴),欢迎欢迎~~