易学难精的php

PHP是一门入门容易,而精通难的语言.

首先, 大家都知道, PHP也是一种编译型脚本语言, 和其他的预编译型语言不同, 它不是编译成中间代码, 然后发布.. 而是每次运行都需要编译.

为此, 也就有了一些Opcode Cacche, 比如开源的APC, eacc. 还有商业的Zend O+等.

那么为什么PHP不把编译/执行分开呢?

PHP虽然是一种编译型脚本语言, 但是它的编译速度非常快, 它的编译不做任何语义优化, 就是简单的忠实的把你所写的代码翻译成对应的Opcodes. 而其他语言因为在编译器做很多的优化工作, 会造成编译比较重, 也一定程度上要求它们分离.

所以, 理论上来说, 通过编译执行分离, 想达到源码加密, 是不会有什么太大收效的, 因为它很容易被反向.

另外, 编译直接分离, 并不会带来特别大的收益, 反而会降低调试部署的效率(想想, 修改, 编译, 发布, 看效果), 并且APC等Opcode Cache工具, 已经很成熟了..

到这里, 请大家注意这句:”它的编译不做任何语义优化”….

这也就是我为什么说, PHP对程序员的要求更高, 不同于其他的编译型语言, PHP在编译的时候不会帮你做一些优化。
        PHP的程序员, 需要认真的想好, 你的代码会怎么被执行, 你怎么写代码, 最终的执行效率才最高. 而不像其他的语言, 程序员可以把一部分优           化工作交给编译器.

本文来自:php培训开源IT教育开源IT教育培训

时间: 2024-11-04 01:45:03

易学难精的php的相关文章

Java并发编程核心知识体系精讲

第1章 开宗明义[不看错过一个亿]本章一连串设问:为什么学并发编程?学并发编程痛点?谁适合学习本课?本课程包含内容和亮点?首先4大个理由告诉你为什么要学,其实源于JD岗位要求就不得不服了.其次5个痛点+12个亮点,是否说服你要死磕Java并发编程呢?... 第2章 跨越第一座山“线程八大核心”[适用于纵观全貌]八大核心-序章.从本章开始将带你攻克并发编程领域的“第一座大山”:多线程八大核心. 第3章 核心1:实现多线程的正确姿势[解读官方文档,够权威]相信很多小伙伴经常在各大技术博客或者论坛甚至

Java并发编程核心知识体系精讲 完整版

第1章 开宗明义[不看错过一个亿]本章一连串设问:为什么学并发编程?学并发编程痛点?谁适合学习本课?本课程包含内容和亮点?首先4大个理由告诉你为什么要学,其实源于JD岗位要求就不得不服了.其次5个痛点+12个亮点,是否说服你要死磕Java并发编程呢?... 第2章 跨越第一座山“线程八大核心”[适用于纵观全貌]八大核心-序章.从本章开始将带你攻克并发编程领域的“第一座大山”:多线程八大核心. 第3章 核心1:实现多线程的正确姿势[解读官方文档,够权威]相信很多小伙伴经常在各大技术博客或者论坛甚至

转载 java学习注意点

原文地址http://www.cnblogs.com/xrq730/p/5260294.html 前言 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的. 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有面试了有6家公司(因为LZ不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少),其中成

Linux shell 编程学习笔记--第一章

1.内核从开机自检就放在计算机内存,直到计算机关闭为止,应用程序是放在计算机硬盘的,需要时才调入内存执行. 2.shell就是应用程序,它是连接内核和用户程序的桥梁.用户登入Linux系统的时候,shell就会被调入内存执行.shell图的关系..缺 3.用户有两种方式打开shell(1)通过图形界面的方式,来操作Linux操作系统 (2)两个软件,远程登录.其中登录要输入的IP没太明白,输入谁的IP 4.脚本语言和编译型语言的区别和联系.脚本语言易学难精. 1.3.1 shell脚本的基本元素

Java语言好不好学?就业前景怎么样?

如今Java语言这么火,想学习Java语言,不知道它好不好学?就业前景怎么样?我想这是许多打算学习Java培训但又还在犹豫的伙伴们的心声吧.今天我们就来说一说Java,看看它是否真如传说的那么神呼. Java就业前景 据GitHub关于什么编程语言最受欢迎的数据统计,Java排名第二,JavaScript排名第一.从这我们可以看得出Java编程语言受欢迎的程度了,当然Java如此受欢迎也是因为它有着自己独特的优势:语言简单.是一个面向对象.分布式应用并且安全.体系结构中立并且可移植,最重要,它是

我为什么要选前端这条路

我们都知道,前端水很深,大坑.. 因为她知识面广,越往后,越广乃至越深.. 相对于后端的先慢后快,前端是先快后慢,易学难精 选择前端,当然也是因为我算法这方面水平太次了 随意搜索一下“如何才能成为优秀的前端开发工程师”,就能发现前端要学的东西是不可估量的 也正是因为这样,我喜欢挑战,挑战各种知识,而这里的各种知识,都联系着前端这条路. 个人期望能用5-10年左右的时间将前端涉及的大部分知识了解一通,当然,往后还有机会的话,投入,更专注地深入各个细节. mark: 这只是目前心中的想法,不知几年后

周总结五

总结 这一周课上老师让我们翻译  <敏捷宣言>背后的12准则 我们遵循以下准则:我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户.欢迎对需求提出变更——即使是在项目开发后期.要善于利用需求变更,帮助客户获得竞争优势.要不断交付可用的软件,周期从几周到几个月不等,且越短越好.项目过程中,业务人员与开发人员必须在一起工作.要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务.无论是团队内还是团队间,最有效的沟通方法是面对面的交谈.可用的软件是衡量进度的主要指标.敏捷过

浅谈web前端开发

有部分同学和朋友问到过我相关问题.利用周末我就浅浅地谈谈我对web前端开发的理解和体会,仅仅能浅浅谈谈,高手请自己主动跳过本篇文章. 毕竟我如今经验并非非常足,连project师都算不上,更不用说大牛了.今天也不谈技术.技术非常多人比我掌握得更好,也大同小异.可是每一个人的理解体会是不一样的. 对前端开发的三个整体理解和体会 我对前端开发的整体体会有三: 第一:杂而难,难度甚至超过了一般的后台开发,假设有人认为前端开发简单仅仅能说明他还没有入门. 第二:web前端开发正在向响应式和移动端方向大步

手游玩电竞 得砍死这几头拦路虎

早已成为红海的手游市场,竞争惨烈,虽然很多新品都变着花样打出"全球首款"."地球最强"."史上第一"等名号,但谁都知道这些都只是无聊的宣传语和噱头而已.在手游研发思路几乎已经陷入既定套路时,小打小闹的修改根本无济于事.只有跳出既定框架,才能有真正羽化成蝶的机遇. 在看到电竞端游如火如荼地在全球举行,在听到千万冠军奖金.千万主播年薪等消息不断冲击玩家心里,让人血脉喷张的时候,"手游电竞化"."微电竞"等新潮名