开篇注释以下文字并没有非常多的技术词汇所以只要对PHP感兴趣的人都可以看看
PHPer是草根吗?
从PHP诞生之日起PHP就开始在Web应用方面为广大的程序员服务同时作为针对Web开发量身定制的脚本语言PHP一直秉承简单开源的思想这也使得PHP得以快速的发展并且大力地推动Web的出现与发展但是长期以来PHPer(PHP Programmers)被认为是处于草根阶层的程序员被认为是技术含量少层次低的程序员这点在国内尤其突出
记得一个技术主管说过这样一个事情他给一个程序员分配了PHP的开发任务没想到那个程序员居然说我是学Java出身的你让我去写PHP你这不是在贬低我吗?这件事情给我印象很深触动也很大虽然这不能代表大部分程序员的看法但是这么认为的人应该不少还有人说现在如果是大型的政府项目PHP是肯定不会被列入考虑的范围之内的
那么为什么PHPer会被认为是草根阶层是因为它很简单人人都可以学会所以没什么难度吗?我以前也是这么认为PHP入门很快处理文件数据远程连接网络编程都非常方便官方也有这样的说法PHP学习的成本很低所以你容易去使用它这个想法也是普遍的甚至大部分的PHPer自己都这样认为
说到这里我想大家就会想到我为什么要写这些文字因为一年多的PHP推广工作让我了解到许许多多的使用PHP的公司的大概情况在这些过程中我慢慢体会到其中的根本原因这里我说是根本原因虽然是个人的看法但是我觉得事实就是如此
那么为什么PHPer会被看成草根阶层根本原因是PHPer所作的事情(通过代码实现)的绝大部分都是表现层的东西这个熟悉PHP的人都知道当然也会有PHP会说他用MVC结构编写的某某框架具备的如何如何的功能但是这些还是表现层所以只会处理表现层的程序员就被看成草根阶层了事实上也是如此因为这种情况下PHP确实很难构造大型的应用
这就找到原因了不是的为什么PHPer总是在负责表现层的东西呢答案是底层的数据处理(Web应用就是数据存储和查找)我们一般不去触及!好那么说到这里有些人可能已经想到了那不就是数据库吗!对就是数据库!让PHPer一直当草根的元凶就是数据库为什么?
因为目前流行的web架构中前端是负载均衡系统中间是web服务器后面是数据库服务器所以大部分PHPer工作在Web服务器层面因为数据库已经很好地为我们组织数据了所以PHP中没有太多的算法而且大家潜意识下也觉得不需要更何况会影响性能
这种情况下PHPer就成为了数据库使用者他总是在操作数据库而不是在做程序一个最简单的PHP脚本就是连接数据库把数据取出来然后用命令输出到浏览器整个过程不超过行代码给人的感觉就是太简单了没有任何技术含量为什么了因为数据处理部分都已经被数据库做完了尤其是MySQL的使用!MySQL是免费的所以大多数程序员可以自由地使用它另外MySQL的速度够快了所以做个PHP应用程序非常的简单这就相当于给你枪以后你觉得没有必要学习武功一样当然我不是说枪没有武功好而是说枪的出现小孩都可以轻松便捷地杀人了
我们再详细说说为什么是数据库!这里我说一个例子我去过北京一家非常着名的网站当时我们还有一个比较资深的PHP程序员在那说些系统架构的事情我记得当时那个程序员问大家一个数据结构中的算法问题的时候全场没有一个人能答得出来(包括我)然后那个程序员就开始给大家讲些很基础的数据结构的东西了让我一下子回想到大学时候学的数据结构课而这些基础的数据排序查找传递的问题在其他高级语言(比如C)是非常普遍的但是在PHP没有!PHPchinacom的论坛也有个板块叫PHP的数据结构和算法这个板块的帖子也是寥寥无几
仔细回想下目前网络上大家讨论的最多的是两个方面的问题一个是PHP的类的使用(处理过程的封装)还有一个是开发框架问题但是我们仔细分析的话发现这些所谓的PHP中比较复杂的概念里面没有数据处理!为什么有数据库!用一个Adodb或者PHP的PDO就可以搞定了!真的搞定了吗?不是这些无非是在连接数据库没有数据处理!所以PHPer似乎就没有什么可以拿出台面上的东西
再说一个具体的代码问题无级分类这个概念我想大家都不会陌生了吧我见过两种处理方式第一个是地道的PHPer的处理方式也是目前比较流行的就是用数据库来处理而且字段很少只需要加个父类的字段并加以判断就行了而且这个方法很实用效率也高!但是这个不是数据处理的范畴了而是数据库的查找!
第二个是C程序员用PHP写出来的他把所有的分类信息都从数据库取出来然后用数据结构算法进行排列分布然后输出
[] []