前回の記事に引き続き、下にスクロールしてください。 。 。 。 :)
型の指示
PHP5 では、クラス メソッドで、パラメーターがクラスのインスタンスである必要があることを示すことができます。
例 10: 型インスタンス
class foo {
// code ...
}
class bar {
public function process_a_foo(foo $foo) {
// いくつかのコード
}
}
$b = new bar();
$f = new foo();
$b-> process_a_foo($f);
?>
ご覧のとおり、変数の前にクラス名を指定して、この変数がクラスのインスタンスであることを PHP5 に知らせます
静的メンバー
静的メンバーと静的メソッドは、OOP では一般に「クラス変数」と「クラスメソッド」と呼ばれます。
オブジェクトがインスタンス化されていない場合でも「クラスメソッド」を呼び出すことができます
オブジェクトがインスタンス化されていない場合でも「クラス変数」にアクセスできます(オブジェクトのメソッドを呼び出す必要はありません)
例 11: クラス変数そしてクラスメソッド
class calculator {
static public $pi = 3.14151692;
static public function add($x,$y) {
return $x + $y;
}
}
$s = 電卓::$pi;
$result = 電卓::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 {
//...code. function __construct() {
異なるタスクを完了するには、同じ名前のクラスを定義します (ただし、インターフェイスは同じである必要があります)
<翻訳完了>
翻訳が下手くそに終わってしまいました用語など間違った翻訳もありますが、原文の理解を一つ一つ指摘して一緒に改善し、一緒にPHP5の学習や議論を始めてください。 。 。
http://www.bkjia.com/PHPjc/314327.html
www.bkjia.com
本当