PHP的局限性 学习PHP的新手们经常感到迷惑不解的
来源:自学PHP网
时间:2014-09-17 22:18 作者:
阅读:次
[导读] PHP的局限性 学习PHP的新手们经常感到迷惑不解的问题是:PHP不能用来做什么。虽然可以用这门语言来完成纷繁的任务,但是它最主要的限制就是不能在Web站点中实现客户端的功能。 使...
PHP的局限性学习PHP的新手们经常感到迷惑不解的问题是:PHP不能用来做什么。虽然可以用这门语言来完成纷繁的任务,但是它最主要的限制就是不能在Web站点中实现客户端的功能。
使用诸如JavaScript这样的客户端技术,可以创建一个新的浏览器窗口、添加鼠标悬停响应、弹出警告窗口、重设浏览器窗口的大小、获取用户机器的屏 幕尺寸,并且动态地生成和修改表单。这些用PHP都无法做到(因为PHP是服务器端脚本语言,而上述问题都需要在客户端实现)。但是,可以用PHP生成 JavaScript,就像可以用PHP生成HTML那样。
在开发自己的PHP项目时,请记住只能使用PHP向Web浏览器发送信息(HTML等)。在向服务器发送另一个请求之前(比如提交表单或者单击某个链接之前),不能在Web浏览器中做任何事情。
在PHP 6中,另外一个重大改变就是移除了一些过时的特性。在PHP 6发布之前的一段时期内这些被移除的特性在PHP默认设置中都是被禁用的,虽然可以重新启用,但是一般都建议不要再使用它们。在PHP 6中,将没有这样的选择。
尽管本书的代码环境使用PHP 6开发版,但是所有的代码都能够向后兼容。如果不能兼容4.x版,至少能够支持PHP的5.x版。在少数情况下,可能仍然会使用将在PHP 6中移除的特性,此时的注解或者提示中,将会说明如何对代码进行相应的调整。
为什么要学php?简而言之,同其他同类语言相比,PHP能够表现得更好、更快,并且更简单易学。所有的Web站点都 必须以HTML开始,因此可以使用许多静态HTML页面来创建一个完整的站点。但是基础的HTML在灵活性和提供响应方面都有局限。访问者进入HTML页 面时看到的是简单的、没有定制或者动态行为的页面。使用PHP则可以进行同数据库和文件的交互、处理邮件等操作,做很多HTML不能做的事情。
很久以前,Web站点设计者就认识到不能单独用HTML创造出迷人的、持久的Web站点。为了结束这种状态,诸如PHP的服务器端技术应运而生。这些技术 能够让Web页面设计者创建Web应用程序,这些Web应用程序能够被动态地生成,并且将程序员所渴望的元素都纳入考虑的范畴。这些高级站点通常都是数据 库驱动的,能够比静态HTML页面更快地进行升级和维护。
当进行服务器端技术选择时,PHP最主要的对手是CGI(Common Gateway Interface,通用网关接口,一般来说并不一定用Perl编写)脚本、ASP.NET、Adobe的ColdFusion、JSP和Ruby on Rails。JavaScript并不是PHP的真正替代品(反之亦然),因为JavaScript是一种客户端技术,并且不能同PHP或其他这类技术一 样用来创建HTML页面。
现在问题是,为什么Web设计者要用PHP而不用CGI、ASP.NET、JSP等技术来创建动态的Web站点呢?
1.PHP更易于学习和使用 在阅读本书之后,没有经过正式编程培训的人都能够轻松地编写PHP脚本。相比较而言,ASP.NET要求了解VBScript、C#或者其他语言;CGI要求有Perl(或者C)编程基础。它们都是更加复杂且难以学习的语言。
2.PHP专门用来编写动态Web页面 Perl(以及VBScript和Java)则不是,这个事实暗示了出于自身特定的意图,PHP能够在处理特定任务时比它的那些竞争者更加迅速并且更加简 便。但是本书需要点明的是,虽然在处理某些任务时更加优秀(因为它就是为了解决这些问题而创造出来的),PHP并不是比Java或者Perl更好的编程语 言——后两者能够做PHP不能做的许多事情。
3.PHP不仅免费而且跨平台 因此,可以在任何计算机上使用它而不产生费用。此外,PHP的开源本质上意味着是PHP的用户推动了它的发展,而不是由什么企业实体。
4.PHP是可以用来开发动态Web站点的最受欢迎的工具 在本书编写时,有超过两千万个站点是由PHP编写的。掌握这项技术,不仅能够让编写PHP成为你的爱好,而且这项技能还能够让你获利。
|
|