如何开始一个PHP项目

做一个PHP项目简单,做一个好的PHP项目却很困难;

这几天在知乎上看到一个帖子,『怎么看待程序员普遍缺乏数据结构和算法的知识』大概意思是说现在很多高级,资深程序员的基础知识不够夯实。其实这个问题基本道出了大部分科班出生程序员的痛点,编程思想真的会随着编程经验而改变。在学校的时候至少我自己是有努力的去学习汇编语言,数据结构与算法,操作系统的。毕业第一年还会和Leader讨论算法的效率,但之后慢慢的就不会讨论了,因为一个做Web开发的人,调用的都是各种库函数,根本没有高级算法的应用场景。也尝试自己去写过复杂的算法,花几天写完之后才发现有现成的库函数调用,效率一对比结果让人相当沮丧。所以之后一有算法相关的需求,我肯定会先找库函数,因为自己写出来的算法肯定比不过经过大规模场景实践过的库函数,无论是安全性还是效率;

在金山工作2年,和Leader讨论的大部分是设计模式,Leader在设计模式方面造诣非常深。在实际工作中遇到某种模式Leader就会讲讲;之前一知半懂的东西,在阿里这段时间基本全部用到了,每次都想给Leader发一封感谢信;知乎这篇帖子道出了程序员的梦想敌不过现实。程序员都是爱算法的,只是被推上了软件工程的高度。

接下来说说如何开始一个PHP项目:

请使用PHP框架;
请先设计出项目代码的结构再开始编码;
考察自己设计的项目结构是否简洁,是否任何人都看的懂;
开始编码;

请使用PHP框架

好多人鼓吹写PHP不要用框架会影响效率。实在不行自己写个框架。以后碰到这种人不要理他,基本都是菜鸟;不说国外,国内BAT三巨头,首选还是开源的PHP框架。

  1. PHP框架的效率 如此追求效率的话去用汇编吧!现在主流的编译器对类与函数的调用都是通过链接地址的方式实现,在解释执行的时候等同于顺序执行;唯一影响效率的仅仅是文件IO读取,不过有很多优化方式……这都是后话;框架带来的好处远远大于他带来的几毫秒的效率副作用;

  2. 自己写框架

我曾经见过有公司(卖化妆品的电商)用的自己写的PHP框架,首先是每次招人进来都要熟悉那个框架,试想让一个用过Laravel,Yii的人去用一个奇怪的框架是什么感受……除非那个框架设计的非常棒,但我觉得国内PHP领域能超过『薛强』的人没几个。现在他们全线换成了Java。我并不是说自己写框架不好,但是你把自己写的框架用于公司的项目就是坑公司了。首先如果你走了怎么办?其次怎么招人?怎么培训?

请先设计出项目代码的结构再开始编码

先贴一个项目地址:PHP简单项目

关于vendor文件夹:Composer是 PHP 用来管理依赖(dependency)关系的工具,Composer会生成一个vendor文件夹,然后各种包放里面;geek是项目文件夹,文件目录已经设计好;

PS:很晚了,准备睡觉,明天再更