PHP 5 中重要的新特征

Tags: php php5

PHP 5 介绍了系列新特性功能提高性能 效率三个主要方面的改善是至关重要篇文章讨论 PHP5 引入重要功能

介绍

PHP是'超文本预处理程序',首先由 Rasmus Lerdorf 于1994年发布。它是服务器端脚本语言嵌入在HTML中,可以很容易地使用常用数据库,如 Oracle、 MySQL、Sybase、Informix,SQL Server等。PHP支持协议包括POP3、IMAP、LDAP等。PHP 具有以下主要特征:

    • 简单

    • 高效

    • 安全

    • 灵活性

    • 轻便

PHP 5 的特点

PHP5相对于PHP4在以下主要方面有所改进:

    •对象面向编程或 OOPs

    •MySQL

    •XML

对这些方面的代码已被完全重写。相对于在早期版本中的PHP面临的局限性功能现在以作为重要的特性。除了这些以外,PHP5也获得了新的功能,将在下面讨论。

广泛支持面向对象编程

在 PHP 5 中,开发人员可以获得以下面向对象优点:

• 构造函数 -- PHP 5 使开发人员能够在一个类中使用构造函数。调用这些构造函数来创建类的一个新实例。在 PHP 中,父构造函数不是通过子类的构造函数隐式调用的。为了从子类构造函数调用父构造函数,我们需要的子类构造函数内调用’parent::__construct()’。如果子类中没有构造函数,然后它可以继承父类如果父类的构造函数不是private的。下面显示了执行构造函数的示例代码。

 清单 1: 样例构造函数实现

< ?php
class MyClass {
   function __construct () {
       print " From Parent Class Constructor\n " ;
   }
}
class MySubClass extends MyClass {
   function __construct () {
       parent::__construct ();
       print " From SubClass constructor\n ";
   }
}
?>

• 析构函数 -- 类似于其他对象面向编程语言如C++,PHP5引入了析构函数的概念。析构函数在对象没有引用时调用。示例析构函数代码如下所示。

清单 2: 样品的析构函数代码

< ? php
class MyClass {
   function __construct () {
       print " Calling from constructor\n ";
       $this->name = " MyClass ";
   }
   function __destruct () {
       print " Destructor Called. Destroying Class ... " . $this->name . "\n ";
   }
}
$obj = new MyClass ();
?>

• 访问修饰符(如public、protected和private) -- PHP 5引入三个的可见性类型(public、protected和private)。它们的使用方式与其他面向对象的语言一样。

• 接口 -- 我们都知道接口在面向对象编程中的重要性。下面的代码段显示了如何声明一个接口以及如何实现它。

清单 3: 接口和它的实现

<?php
// Declare the interface 'iTemp'
interface iTemp
{
    public function setSchool ( $name, $location );
    public function getHtml ( $template );
}
// Implementing the interface
class myTemplate implements iTemp
{
    private $vars = array ();
    public function setSchool ( $name, $location )
    {
        $this-> locations[$name] = $var;
    }
    public function getHtml ($template)
    {
        foreach($this-> locations as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }
        return $template;
    }
}
?>

• 抽象类 -- PHP 5中的抽象类与其他面向对象语言的使用方式一致。

• 支持静态属性和方法

• 支持final的属性和方法

除了这些以外,对象PHP5中是按照引用传递的,而不是按值传递对象。这可以帮助我们在代码中摆脱&字符。

    • 新的 MySQL 扩展 – 尽管MySQL扩展是常用的扩展,但PHP之前MySQL 扩展也出现一些问题。PHP5包括新的MySQL扩展,提供了以下功能:

    • Prepared Statements

    • 输入和输出参数占位符

    • SSL 连接

    • 多查询函数

PHP5的新MySQL扩展支持面向的对象的接口。

• 可互操作的XML工具 -- PHP5解决了PHP4 XML扩展的主要问题。新的XML扩展提供以下功能:

    • 它作为一个统一的组件。

    • 这些扩展都基于单个XML库。

    • 这些扩展完全遵守 W3 标准。

    • 数据处理效率很高。

• 内置SQLite数据库支持 --尽管MySQL是广泛使用的,并用作为PHP应用的标准数据库,但对于较小的应用程序,还是建议使用SQLite,它内置于嵌PHP5标准库中。它支持以下常见DB特性:

    • 数据库事务

    • 子查询

    • 触发器

• 更好的错误处理和异常处理 -- PHP 5 介绍了一种完全新型的异常处理机制。在新异常机制中,我们可以跳过处理并检查每个函数的返回值。另外我们可以将业务逻辑与错误处理块分开。

• 增强的 SOAP 实现 -- 在web服务中SOAP是关键组成部分。PHP5的SOAP扩展使开发人员能够创建SOAP客户端,无论有或这没有WSDL文件。它还在PHP中内置SOAP服务器。在PHP5的SOAP扩展使用C语言开发。当前版本的SOAP扩展不能实现SOAP的全部功能。

• 迭代器 – PHP5中添加了迭代器。使用我们可以使用'for-each' 循环运行迭代不同的数据结构 (如目录列表的迭代器,数据库结果或其他某些组件如XML 档。让我们看一下下面实现目录迭代器的代码段。

清单 4: 迭代器实现示例

<?php
foreach (new DirectoryIterator($path) as $file) {
    print "$file\n";
}
?>

• 反射类 -- 在php5 中,反射类用来检查类、方法和对象的属性。

• 更好的命令行处理 – PHP5命令行版本允许逐行处理,就像 Perl 和 AWK 一样。

结论

在 web 开发中,PHP 已成为技术社区的选择。PHP 5 添加了增强的特性和功能来处理现代应用程序开发的需求。

本文链接:http://www.4byte.cn/learning/120034/php-5-zhong-zhong-yao-de-xin-te-zheng.html