PHP对程序员的要求更高
程序员文章站
2022-05-15 16:05:43
...
今天是愚人节, 但我这个文章标题可不是和大家开玩笑. 首先, 大家都知道, PHP 也是一种编译型脚本语言, 和其他的预编译型语言不同, 它不是编译成中间代码, 然后发布.. 而是每次运行都需要编译.. 为此, 也就有了一些 Opcode Cacche, 比如开源的 APC, ea
今天是愚人节, 但我这个文章标题可不是和大家开玩笑.
首先, 大家都知道, PHP 也是一种编译型脚本语言, 和其他的预编译型语言不同, 它不是编译成中间代码, 然后发布.. 而是每次运行都需要编译..
为此, 也就有了一些 Opcode Cacche, 比如开源的 APC, eacc. 还有商业的 Zend O+ 等.
那么为什么 PHP 不把编译/执行分开呢?
PHP 虽然是一种编译型脚本语言, 但是它的编译速度非常快, 它的编译不做任何优化, 就是简单的忠实的把你所写的代码翻译成对应的 Opcodes. 而其他语言因为在编译器做很多的优化工作, 会造成编译比较重, 也一定程度上要求它们分离.
所以, 理论上来说, 通过编译执行分离, 想达到源码加密, 是不会有什么太大收效的, 因为它很容易被反向。
另外, 编译直接分离, 并不会带来特别大的收益, 反而会降低调试部署的效率(想想, 修改, 编译, 发布, 看效果), 并且 APC 等优化工具, 已经很成熟了..
到这里, 请大家注意这句:”它的编译不做任何优化”….
这也就是我为什么说, PHP 对程序员的要求更高, 不同于其他的编译型语言, PHP 在编译的时候不会帮你做一些优化, 比如对于如下的代码:
for ($i=0;$istrlen
推荐阅读
-
如何突破PHP程序员的技术瓶颈分析_PHP教程
-
phpMyAdmin-3.0开始版本是不是 只能用在PHP5 MYSQL 5 或者更高的版本上?解决方法
-
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
-
Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs_PHP教程
-
重组数组 - php 将任意二维数组转换一维数组(键值对) 想问下有没有更好的办法。
-
js和php对url编码的处理方法
-
共享一个PHP对二维数组的某个字段进展升降排序类
-
php根据某字段对多维数组进行排序的方法,php字段多维数组_PHP教程
-
ThinkPHP3.1新特性之对Ajax的支持更加完善_PHP教程
-
php 5.4中新增多对session状态判断的功能