PHP 5 新功能簡介 (參考看看)
1. 支援名稱空間(namespace)
namespace This {
class Hoge {
}
const aConstant = "This Constant";
function aFunction() {}
var $aVariable = "This Variable";
}
// 使用名稱空間內的成員(變數或函式)
// [語法] 名稱空間 :: 成員
$obj =new This :: Hoge;
echo This :: aConstant."< br > ";
This :: aFunction();
echo This :: $aVariable."< br > ";
2. 使用 const 定義常數
< ? php
define('constant_value', 'global constant');
class MyClass {
const constant_value ='class constant';
function printConstant() {
print constant_value;
}
}
echo MyClass :: constant_value."
";
MyClass :: printConstant();
? >
3. 定義靜態成員(類別成員)
引用靜態成員的語法 className::staticMember
php
class Hoge {
static $my_static = 5;
}
print Hoge :: $my_static;
? >
4. 建構子
[語法] 以 _ _construct 來定義建構子
< ? php
class BaseClass {
function _ _ construct() {
print "In BaseClass constructor ";
}
}
class SubClass extends BaseClass {
function _ _ construct() {
parent :: _ _construct();
print "In SubClass constructor ";
}
}
$obj =new BaseClass();
$obj =new SubClass();
? >
5. 解構子
[語法] 以 _ _ destruct 來定義解構子
php
class MyDestructableClass {
function _ _ construct() {
print "In constructor ";
$this->name = 'MyDestructableClass';
}
function _ _ destruct() {
print 'Destroying'.$this->name." ";
}
}
$obj =new MyDestructableClass();
?>
6. 動態增加 class 成員(類似javascript語法)
class Hoge {
}
$obj = new Hoge;
$obj->prop = "This is new property";
7. 引數傳遞型式可以傳值或傳參考
php
function some _ func( $var ==null) {
if ($var ==null) {
// 特別的處理
}
}
? >
8. 例外處理
使用 try-catch 區塊處理例外
< ? php
class MyException {
function _ _ construct {
$this- >exception =$exception;
}
function Display() {
print "MyException: $this- >exception ";
}
}
class MyExceptionFoo extends MyException {
function _ _ construct {
$this- >exception =$exception;
}
function Display() {
print "MyExceptionFoo: $this->exception ";
}
}
try {
throw new MyExceptionFoo('Hello');
}
catch (MyException $exception) {
$exception- >Display();
}
?>
9. 存取許可權
class 的成員可以為 public、protected 或 private
class A {
private $x;
public function funcA() {
print("I'm public");
}
10. 介面 Interfaces
使用 implement 關鍵字實作介面內宣告的function
interface A {
function funcA();
}
interface B {
function funcB();
}
class C implements A,B {
function funcA() {
// code...
}
function funcB() {
// code...
}
}
11. 新增 _ _call、_ _set 和 _ _get 的使用
12. 其他
新的SimpleXML延伸部份,可以容易地存取及處理XML。
.全新的內建SOAP延伸部份,可以互動處理網站服務。
.新的MySQL延伸部份,名稱為MySQLi for developers,使用MySQL 4.1或更新版本。除了傳統的介面之外,這個新的延伸部份包含了物件導向的介面。如此可以支援許多MySQL新功能,例如prepared statements。
.SQLite已被包入PHP。想了解更多有關SQLite的資訊,請觀看他們的網站。
.資料流(Streams)已經大幅度的改善,包括存取在stream上的低階socket咦鰲?@more@]
namespace This {
class Hoge {
}
const aConstant = "This Constant";
function aFunction() {}
var $aVariable = "This Variable";
}
// 使用名稱空間內的成員(變數或函式)
// [語法] 名稱空間 :: 成員
$obj =new This :: Hoge;
echo This :: aConstant."< br > ";
This :: aFunction();
echo This :: $aVariable."< br > ";
2. 使用 const 定義常數
< ? php
define('constant_value', 'global constant');
class MyClass {
const constant_value ='class constant';
function printConstant() {
print constant_value;
}
}
echo MyClass :: constant_value."
";
MyClass :: printConstant();
? >
3. 定義靜態成員(類別成員)
引用靜態成員的語法 className::staticMember
php
class Hoge {
static $my_static = 5;
}
print Hoge :: $my_static;
? >
4. 建構子
[語法] 以 _ _construct 來定義建構子
< ? php
class BaseClass {
function _ _ construct() {
print "In BaseClass constructor ";
}
}
class SubClass extends BaseClass {
function _ _ construct() {
parent :: _ _construct();
print "In SubClass constructor ";
}
}
$obj =new BaseClass();
$obj =new SubClass();
? >
5. 解構子
[語法] 以 _ _ destruct 來定義解構子
php
class MyDestructableClass {
function _ _ construct() {
print "In constructor ";
$this->name = 'MyDestructableClass';
}
function _ _ destruct() {
print 'Destroying'.$this->name." ";
}
}
$obj =new MyDestructableClass();
?>
6. 動態增加 class 成員(類似javascript語法)
class Hoge {
}
$obj = new Hoge;
$obj->prop = "This is new property";
7. 引數傳遞型式可以傳值或傳參考
php
function some _ func( $var ==null) {
if ($var ==null) {
// 特別的處理
}
}
? >
8. 例外處理
使用 try-catch 區塊處理例外
< ? php
class MyException {
function _ _ construct {
$this- >exception =$exception;
}
function Display() {
print "MyException: $this- >exception ";
}
}
class MyExceptionFoo extends MyException {
function _ _ construct {
$this- >exception =$exception;
}
function Display() {
print "MyExceptionFoo: $this->exception ";
}
}
try {
throw new MyExceptionFoo('Hello');
}
catch (MyException $exception) {
$exception- >Display();
}
?>
9. 存取許可權
class 的成員可以為 public、protected 或 private
class A {
private $x;
public function funcA() {
print("I'm public");
}
10. 介面 Interfaces
使用 implement 關鍵字實作介面內宣告的function
interface A {
function funcA();
}
interface B {
function funcB();
}
class C implements A,B {
function funcA() {
// code...
}
function funcB() {
// code...
}
}
11. 新增 _ _call、_ _set 和 _ _get 的使用
12. 其他
新的SimpleXML延伸部份,可以容易地存取及處理XML。
.全新的內建SOAP延伸部份,可以互動處理網站服務。
.新的MySQL延伸部份,名稱為MySQLi for developers,使用MySQL 4.1或更新版本。除了傳統的介面之外,這個新的延伸部份包含了物件導向的介面。如此可以支援許多MySQL新功能,例如prepared statements。
.SQLite已被包入PHP。想了解更多有關SQLite的資訊,請觀看他們的網站。
.資料流(Streams)已經大幅度的改善,包括存取在stream上的低階socket咦鰲?@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/786540/viewspace-925068/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php 知識點參考PHP
- Elasticsearch 參考指南(介紹)Elasticsearch
- PHP-imap 使用參考手冊PHP
- JAVA期末簡答題參考Java
- 複習PHP-語言參考-常量PHP
- PHP5中文參考手冊以及相關資源收集PHP
- ** 用PHP 發郵件例程 ,歡迎參考 **PHP
- H5App除錯方法參考H5APP除錯
- PHP Filesystem 簡介PHP
- 七牛重新整理介面php實現參考PHP
- Asp.net中Cookie簡明參考 (轉)ASP.NETCookie
- php 函式簡介PHP函式
- OSI參考模型和TCP/IP參考模型模型TCP
- .NET 5簡介
- javamail參考JavaAI
- SQLAlchemy參考SQL
- 參考地址
- DOM參考手冊及事件參考手冊事件
- 簡單語法解析器實現參考
- 介紹如何手動清除花指令,供大家參考
- 小白入門 - PHP簡介PHP
- 複習PHP-語言參考-預定義變數PHP變數
- HTML5簡介HTML
- DS-5簡介
- WebApiClient效能參考WebAPIclient
- OSI參考模型模型
- Git教程參考Git
- 參考資料
- 前端參考指南前端
- SRVCTL 命令參考
- XMLHTTP物件參考XMLHTTP物件
- Oracle 9i 分析函式參考手冊(5)Oracle函式
- MySQL中文參考手冊5(安裝MySQL下) (轉)MySql
- 10G-OCM考試簡介--考試環境-考試大綱-考試安排
- 簡單sql欄位解析器實現參考SQL
- Android 根據View生成圖片簡易參考AndroidView
- ASP.NET中Cookie程式設計簡明參考ASP.NETCookie程式設計
- 模擬考試參考程式碼