php5
前回の記事に引き続き、下にスクロールしてください。 。 。 。 :)
型の指示
PHP5 では、パラメータがクラスのインスタンスである必要があることをクラスメソッドで指定できます。
例 10: 型インスタンス
class foo {
// コード ...
}
class bar {
public function process_a_foo(foo $foo) {
// 一部のコード
}
}
$b = new bar();
$f = new foo() ;
$b->process_a_foo($f);
?>
ご覧のとおり、変数の前にクラス名を指定して、この変数がクラスのインスタンスであることを PHP5 に知らせます
static member
静的メンバーと静的メソッドは、OOP では一般に「クラス変数」と「クラスメソッド」と呼ばれます。
オブジェクトがインスタンス化されていない場合でも「クラスメソッド」を呼び出すことができます
オブジェクトがインスタンス化されていない場合でも「クラス変数」にアクセスできます(オブジェクトのメソッドを呼び出す必要はありません)
例 11: クラス変数そしてクラスメソッド
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」キーワードを使用して例外をキャッチします。
例 12: 例外処理
class foo {
function dive($x,$y) {
if($y==0) throw new Exception("ゼロで除算できません");
return $x/$y;
}
}
$x = new foo();
try {
$x->divide(3,0);
} catch (Exception $e) {
echo $e->getMessage();
echo "n
n";
// ここに致命的な対策がいくつかあります
}
?>
「try」はコードを実行することを意味することがわかります。エラーが発生すると、「catch」領域のコードが実行されます。
「キャッチ」領域では、例外を実行するオブジェクトを指定する必要があります。これにより、構造がより明確になります
カスタマイズされた例外処理
プログラムで例外エラーをキャッチするための独自のカスタム コードを定義できます。
非常に簡単です。例外クラスを継承するだけで、コンストラクターと getMessage というメソッドが必要です。
例 13: カスタム例外クラス
class WeirdProblem extends Exception {
private $data;
function WeirdProblem($data) {
parent::Exception();
$this->data = $data;
}
function getMessage() {
return $this->data " により、奇妙な例外が発生しました。 !";
}
}
?>
「throw new WeirdProblem($foo)」を使用して例外をスローできるようになりました。 try{} のような領域で例外が発生した場合、PHP5 は
catch 領域にジャンプして例外をスローします。
名前空間
「名前空間」を使用すると、クラスまたはメソッドのグループを簡単に呼び出すことができます:
例 14: 名前空間
namespace Math {
class Complex {
/...コード... o Function __ConStruct () {
Print ("Hey"); 実際のアプリケーションでは、異なる名前空間で同じ名前のクラスを定義して、異なるタスクを完了できます (ただし、インターフェイスは同じである必要があります)。完成しました>
一日中ダラダラと翻訳を終えてしまい、一部翻訳が間違っていたところもありましたので、用語や原文の理解など一つ一つ指摘していただき、一緒に改善していきたいと思います。 PHP5 を一緒に学び、議論します。 。 。
2003/7/2 鄭州