ClassClass 基本用法classclass City{
 public $name;
 public $mayer;
 public $population;
 public $location;
}想像一下,建立新城市時,需要的種種資訊,都在名為 City 的 class 裡預先定義出來。
new 物化 (instanciate) class 形成真的物件 (object)<?php /*承接上述程式碼*/
 $tpe=new City;
 $kh=new City;
?>建立 $tpe 及 $kh 兩座城市。
<?php /*承接上述程式碼*/
 $tpe->name='台北';
 $tpe->mayer='郝龍斌';
 $tpe->population='260 萬';
 $tpe->location='台灣北部';
 $kh->name='高雄';
 $kh->mayer='陳菊';
?>使用 -> 符號指定個別物件的實際內容;現在兩座城市各有不同的資訊了,然而它們都是由同一個 class 的定義所建立出來的。
指定 class 裡的變數 (variables) 稱為屬性,而 class 裡的函數 (functions) 稱為方法 (methods) 。目前只以變數定義了屬性,存取變數型的屬性不需加 $ 符號。定義變數時, public 前置詞為必要的,稍後再解釋。
-> 符號取得物件的屬性<?php /*承接上述程式碼*/
 echo '<ul>';
 echo "<li>$tpe->name</li>";
 echo "<li>$tpe->mayer</li>";
 echo "<li>$tpe->population</li>";
 echo '</ul>';
?>結果
<ul>
 <li>台北</li>
 <li>郝龍斌</li>
 <li>260 萬</li>
</ul>class 内的常數 (constant)class City{
 const CITY='城市';
 const MAYER='市長';
 const GOV='市政府';
 const POPULATION='人口';
 const LOCATION='位置';
 public $name;
 public $mayer;
 public $population;
 public $location;
}class 本身即是物件,以 :: 符號取得常數屬性<?php /*承接前述程式碼*/
 echo '<ul>';
 echo '<li>', City::CITY, '</li>';
 echo '<li>', City::MAYER, '</li>';
 echo '<li>', City::POPULATION, '</li>';
 echo '</ul>';
?>結果
<ul>
 <li>城市</li>
 <li>市長</li>
 <li>人口</li>
</ul>class 内的函數 (functions) 可稱爲方法 (methods)class City{
 const CITY='城市';
 const MAYER='市長';
 const GOV='市政府';
 const POPULATION='人口';
 const LOCATION='位置';
 public $name;
 public $mayer;
 public $population;
 public $location;
 public function basicInfo(){
  echo '<p>城市基本資料</p>';
 }
}-> 符號執行物化物件的方法<?php
 $tpe=new City;
 $tpe->basicInfo();
?>$this 特殊變數class 内指出物化的物件本身class City{
 const CITY='城市';
 const MAYER='市長';
 const GOV='市政府';
 const POPULATION='人口';
 const LOCATION='位置';
 public $name;
 public $mayer;
 public $population;
 public $location;
 public function basicInfo(){
  echo '<ul>';
  echo "<li>$this->name</li>";
  echo "<li>$this->mayer</li>";
  echo "<li>$this->population</li>";
  echo '</ul>';
 }
}self 特殊物件class 内指出 class 物件本身class City{
 const CITY='城市';
 const MAYER='市長';
 const GOV='市政府';
 const POPULATION='人口';
 const LOCATION='位置';
 public $name;
 public $mayer;
 public $population;
 public $location;
 public function basicInfo(){
  echo '<ul>';
  echo '<li>', self::CITY, '</li>';
  echo '<li>', self::MAYER, '</li>';
  echo '<li>', self::POPULATION, '</li>';
  echo '</ul>';
 }
}$this 變數屬性混用class City{
 const CITY='城市';
 const MAYER='市長';
 const GOV='市政府';
 const POPULATION='人口';
 const LOCATION='位置';
 public $name;
 public $mayer;
 public $population;
 public $location;
 public function basicInfo(){
  echo '<ul>';
  echo '<li>', self::CITY, ":$this->name</li>";
  echo '<li>', self::MAYER, ":$this->mayer</li>";
  echo '<li>', self::POPULATION, ":$this->population</li>";
  echo '<li>', self::LOCATION, ":$this->location</li>";
  echo '</ul>';
 }
}static 方法或屬性static methodclass City{
 const CITY='城市';
 const MAYER='市長';
 const GOV='市政府';
 const POPULATION='人口';
 const LOCATION='位置';
 public $name;
 public $mayer;
 public $population;
 public $location;
 public function basicInfo(){
  echo '<ul>';
  echo '<li>', self::CITY, ":$this->name</li>";
  echo '<li>', self::MAYER, ":$this->mayer</li>";
  echo '<li>', self::POPULATION, ":$this->population</li>";
  echo '<li>', self::LOCATION, ":$this->location</li>";
  echo '</ul>';
 }
 public static function getSubject(){
  return '城市的基本資料';
 }
}static 方法由 class 物件以 :: 符號執行<?php
 echo '<p>',City::getSubject(),'</p>';
?>更新日期: