接上篇,繼續硬著頭皮往下翻。。。。:)
類型指示

在PHP5,你可以在一個類的方法中指明其參數必須為一個類的實例:

Example 10: 類型實例

<?php
class foo {
// code ...
}

class bar " /> 国产AV亚洲一区精午夜麻豆,97超碰在线视频 免费,亚洲精品国产熟女久久久

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

第1次親密接觸PHP5(2)


接上篇,繼續硬著頭皮往下翻。。。。:)
類型指示

php5,你可以在一個類的方法中指明其參數必須為一個類的實例:

Example 10: 類型實例

<?php
class foo {
  // code ...
}

class bar {
  public function process_a_foo(foo $foo) {
   // Some code
  }
}

$b = new bar();
$f = new foo();
$b->process_a_foo($f);
?>

可以看到,在變量前指定一個類名,讓php5知道這個變量將是一個類的實例

靜態成員

靜態成員和靜態方法在OOP中一般稱為"類變量"和"類方法"。

一個"類方法"可以在對象沒有被實例化的時候調用
一個"類變量"可以在對象沒有被實例化的時候訪問(也不需要對象的方法來調用)

Example 11: 類變量和類方法


<?php
class calculator {
  static public $pi = 3.14151692;

  static public function add($x,$y) {
    return $x + $y;
  }
}

$s = calculator::$pi;
$result = calculator::add(3,7);
print("$result");
?>

* 異常處理

異常處理是開發語言中公認的處理異常錯誤的方法,如在Java和C++中。
php5用"try"和"catch"關鍵字來捕獲異常。

Example 12: 異常處理

<?php
class foo {

  function divide($x,$y) {
    if($y==0) throw new Exception("cannot divide by zero");
    return $x/$y;
  }
}

$x = new foo();

try {
  $x->divide(3,0);   
} catch (Exception $e) {
    echo $e->getMessage();
    echo "/n<br />/n";
    // Some catastrophic measure here
}
?>


可以看出,"try"表示的是執行代碼的地方,當有錯誤的時候執行"catch"區域的代碼。
在"catch"區域你應當指明執行異常的對象,這樣可以使我們的結構更清晰

自定義異常處理

你可以在程序中定義自己習慣的捕獲異常錯誤的代碼。
非常簡單,你僅僅需要繼承一個異常類,在這個類中需要一個構造器和一個叫getMessage的方法而已:

Example 13: 自定義異常類

<?php
class WeirdProblem extends Exception {

   private $data;

   function WeirdProblem($data) {
        parent::exception();
        $this->data = $data;
    }

    function getMessage() {
        return $this->data . " caused a weird exception!";
    }
}
?>

現在就可以用"throw new WeirdProblem($foo) "來拋出異常。如果在try{}這樣的區域中出現異常,php5就會跳入
catch區域來拋出異常。

名稱空間

"名稱空間"可以讓你方便地調用一組類或方法:

Example 14: 名稱空間

<?php
namespace Math {

  class Complex {
    //...code...
    function __construct() {
      print("hey");
    }
  }
}

$m = new Math::Complex();
?>

注:在實際應用中,你可以在不同的名稱空間里定義同名的類來完成不同的任務(但接口要相同)
<翻譯完畢>



終天蹩手蹩腳地翻譯完了,有些翻譯不正確的地方,如術語、對原文的理解,敬請一一指出,共同完善,共同開始php5的學習、探討。。。

php技術第1次親密接觸PHP5(2),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 白丝女仆被强扒内裤 | 国产精品乱码一区二区三 | 日韩亚射吧 | 樱桃BT在线观看 | 国产亚洲精品线视频在线 | 嫩草影院地址一二三 | 亚洲成年人在线观看 | 粗大分开挺进内射 | 亚洲精品伊人久久久久 | 在线观看免费av网站 | 蜜桃视频无码区在线观看 | 成人免费在线观看视频 | 国产精品久久久久久久久免费下载 | 我的美女房东未删减版免费观看 | 翁熄性放纵交换01 | 免费国产足恋网站 | 偷窥自拍性综合图区 | 视频成人app永久在线观看 | 青柠在线电影高清免费观看 | 国产乱色伦影片在线观看 | 熟女强奷系列中文字幕 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片潮喷动漫 | 国产精品久久久久成人免费 | 91久久综合精品国产丝袜长腿 | 老头xxx | 日韩 亚洲 欧美 中文 高清 | 俄罗斯女人与马Z00Z视频 | 久久精品黄色 | 高肉黄暴NP文公交车 | 欧美香蕉大胸在线视频观看 | 无码人妻丰满熟妇啪啪网不卡 | 日韩一区二区天海翼 | 挺弄抽插喷射HH | 国精产品一区二区三区有限公司 | 亚洲蜜芽在线观看精品一区 | 全黄h全肉细节全文 | 成在线人免费视频 | 青青视频 在线 在线播放 | 免费视频不卡 | 18禁无遮遮挡羞漫画免费阅读 | 一级黄色香蕉视频 |