background image

   //组件
   class Widget
   {
       public $name='none';
       public $created=FALSE;
   }
   //装配器
   class Assembler
   {
       public function make(Widget $w)
       {
           print("Making $w->name\n");
           $w->created=TRUE;
       }
   }
   //建立一个组件对象
   $thing = new Widget;
   $thing->name = 'Gadget';
   //装配组件
   Assembler::make($thing);
?>
除了传递参数的变量外,方法含有一个特殊的变量. 它代表类的个别实例. 你应当用这个来
指向对象的属性和其它方法.一些面向对象的语言假设一个不合格的变量提交给本地属性,
但在 PHP 中方法的任何变量只是在方法的一定范围内. 注意在 User 类的构造函数中这个
变量的使用图 2.
PHP 在属性和方法声明前定义一个访问限定语,如 public,private 和 protected. 另外,你可以

用 static”来标记一个成员. 你也可以在类中声明常量. 本章稍后会有不同访问方式的相关
讨论.
你可以在一行中列出相同访问方式的几个属性,用逗号来分隔它们. 在图 2 中,User 类有两
个 private 属性--$password 和$lastLogin.