ASP.NET与PHP构建web程序的方法的优缺点(3)

http://www.itjxue.com  2015-07-17 01:58  来源:未知  点击次数: 

在 PHP 5 中新增了哪些特性?

PHP 5 的第 4 个测试版在 2003 年 12 月底推出,更改日志清楚地显示已发现许多错误并已将其消除。虽然它仍在进行测试,但它的所有新特性和进步都确实值得关注。

PHP 5 的主要新成就在于它的异常处理和一个新对象,这个新对象引入的特性赋予了 PHP 真正的 OOP。异常处理无疑是 PHP 4 中最显著的缺憾之一,而 PHP 5 对异常处理的引入无疑是一个成熟的标志。异常处理意味着您在您的软件中拥有了根据语言定义的和标准化的错误处理方法。只需使用 try、catch 和 throw 方法,您的 PHP 代码就变得更加强健和简洁。

新的对象模型为用 PHP 编写的程序带来许多积极的影响。在 PHP 4 中,当把将一个对象传递给函数或方法时,是通过值来传递的 — 除非您另行显式告知 PHP。这个过程意味着必须复制对象的一个副本(内存中的所有数据结构)。这个步骤使用内存,使得访问变慢和拥塞。而在 PHP 5 中,通常通过引用传递对象。

PHP 5 中新的面向对象的特性(包括构造器和析构器)值得关注。与 C++ 和 Java 相同,它们提供了一种标准方法,即通过一个构造器方法来创建对象、分配内存和执行任何必要的设置,并通过一个析构器方法来执行清理。

PHP 5 还引入了对类中方法和变量的更精细控制。在 PHP 4,一切都是公有的:您可以从类外或在继承类中访问您类中的变量。在 PHP 5 中,您仍然可以使变量或方法为公有,但您也可以使它们为私有,以使得只能在类本身中使用它们。还可以将它们保护起来,也就是说,可以在类内或在子类中查看方法和变量。

此外,PHP 5 引进了类型提示或更好的类型检查。当您将一个对象传递给一个例程时,PHP 能够检查它是否是正确的类型,并在检查失败时产生类型不匹配错误。 \

由于还有其他特性(如静态方法和变量以及抽象类),因此请务必查看文档,以获取详细信息。

安全性比较

ASP.NET 官方要求您使用 IIS。不幸的是,IIS 易受攻击的历史由来已久,这使得许多管理员不愿意部署它来处理 Web 站点。这些弱点是因为 Microsoft 的缺陷或是因为 IIS 是黑客们攻击的目标无关紧要:这些系统有被黑或被攻击的历史。PHP 也运行在 Apache 上,Apache 快速并且是开放源代码的,并拥有很好的安全性记录。此外,正如我提到过的,Apache 可以在许多平台上运行。

如果您在考虑 ASP.NET,但您想用 Apache 作为 Internet 门户,那么很幸运您可以有一些选择。首先,您可以使用 Apache 将请求转发给在另一台计算机上内部运行的 IIS。然后 Apache 处理静态内容,并将 aspx 内容传送给 IIS 服务器(不暴露给 Internet)。

不过,如果您想利用 Apache 承载 ASP.NET,那么提供了一些选项,这些选项 Microsoft 可能支持也可能不支持。作为最后一种选择,有 Ximian 的 Project Mono,它致力于构建一个开放源代码模块。请浏览 www.go-mono.com,以获取更多信息。

(责任编辑:IT教学网)

更多

推荐ASP.NET教程文章