由于以前一直进行的是java ee的编程,所以自然会对java和php有一些比较。
php有着简洁的语法,丰富的函数、用于跨平台的能力,有着LAMP,WAMP等出色的平台组合,是进行敏捷开发不一个比较好的选择。它可以进行快速的web开发,尤其是一些网站、Blog、论坛等性质的web应用。
但通过对phpcms代码的分析,也发现了许多php的不足,这对于php进入企业级可能是致命的。大体分为以下几点:php终究是一种脚本语言,他的变量类型属于弱变量类型,这在很多时候会把程序员的大脑搞乱,当然他也有很多好处,在代码中会随处发现一些莫名奇妙的变量突然冒出来,他们可能存在于其它“距离”很远的文件中;php的代码导入也是不太好的,例如:A引入了B文件,B引入了C文件,C有引入了D文件,这时候在A中出现了D的定义的变量,由于php是弱变量,变量不需要定义,所以在A文件中很难确定出现的变量是A中定义的,还是存在与其它文件中的。
php对现在比较流行的分层模式的支持并不是很好,虽然他通过模板将显示层分离出来了,但仍其它的php程序中发现大量的有关显示的代码,更糟糕的是有事甚至会发现有关数据库的操作,有关逻辑的操作和页面显示的代码混杂在一起,这样的代码这是太糟糕了,这在java中几乎是不能容忍的。这回事代码的后期维护带来很大的麻烦。
php的代码完全是写在以php为扩展名的文件中,这也会给系统的安全带来很大的隐患。而在java中,你可以将不同的代码放在不同的地方,姑且不谈什么SSH框架与EJB,我们仍有很多选择,例如jsp,jsf,javabeans,servlet,以及不同的java类等。
php虽然也支持面向对象的技术,但他对对象的支持实在有些鸡肋了。而且这也是php的代码中又混杂了面向过程和面向对象的东西,也会让人觉得不伦不类。php对对象的支持是脆弱的,看一看他的语法,再看看java的语法就明白了。
另外,开发php经常会发现随处可能出现的错误在页面中跳出来,缺少比较好的调试工具等等问题,也是他进入企业级的阻碍。
分享到:
相关推荐
这说明了高级PHP工程师的薪酬分布范围很广,且存在较大的收入差距。同时,中位数(P50)的薪酬水平为192,837元,代表了该岗位在台州地区的平均薪酬水平。 除了针对高级PHP工程师的薪酬水平分析,报告还涉及全国各...
Oracle数据库在安全方面提供了很多企业级的安全特性,比如细粒度的访问控制、透明数据加密、高级安全选项等。而MySQL虽然也支持加密和访问控制,但是在安全性配置和管理上相对比较简单,对于一些需要严格安全保证的...
这样的设计极大地简化了开发者的环境配置过程,尤其适合个人开发者或者小团队,他们可能没有足够的硬件资源来支撑一个全功能的web服务器。 在压缩包中的“NetBox2.exe”文件,很可能是NetBox2应用的主执行程序。这...
这使得Linux不仅能够作为高效的服务器平台,还能满足企业级应用的需求。随着技术的发展,越来越多的企业开始选择Linux作为其核心业务系统的支撑环境。 ### Linux系统的安装与配置 #### 安装虚拟机 为了在现有操作...
尤其是对于使用微软产品生态的开发者而言,ASP提供了与Windows服务器和Microsoft Access、SQL Server数据库良好的集成能力,这为构建企业级应用提供了便利。 当我们深入玉叶随风网全站系统v2.0的源码包时,可以预见...