第1次亲密接触PHP5(2)

接上篇,继续硬着头皮往下翻。。。。:)类型指示
在PHP5,你可以在一个类的方法中指明其参数必须为一个类的实例:Example 10:
类型实例?phpclass 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: 类变量和类方法?phpclass 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: 异常处理?phpclass 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 “/nbr
//n”;// Some catastrophic measure
here}?可以看出,”try”表示的是执行代码的地方,当有错误的时候执行”catch”区域的代码。在”catch”区域你应当指明执行异常的对象,这样可以使我们的结构更清晰自定义异常处理
你可以在程序中定义自己习惯的捕获异常错误的代码。非常简单,你仅仅需要继承一个异常类,在这个类中需要一个构造器和一个叫getMessage的方法而已:Example
13: 自定义异常类?phpclass 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: 名称空间
?phpnamespace Math {class Complex {//…code…function __construct()
{print(“hey”);}}}$m = new
Math::Complex();?注:在实际应用中,你可以在不同的名称空间里定义同名的类来完成不同的任务翻译完毕终天蹩手蹩脚地翻译完了,有些翻译不正确的地方,如术语、对原文的理解,敬请一一指出,共同完善,共同开始PHP5的学习、探讨。。。