使用spl_autoload_register
,可以自動加載類。讓我們用兩個文件舉一個簡單的例子:使用spl_autoload_register處理單個文件中的多個類
的index.php
<?php
spl_autoload_extensions (".php");
spl_autoload_register();
$class = new \kitchen\oven;
var_dump ($class);
var_dump (new kitchen\Microwave);
var_dump (new kitchen\Oven);
?>
廚房/ oven.php
<?php
namespace kitchen {
class Microwave {
private $potency;
public function get_potency() {return $this->potency;}
public function set_potency ($potency) {$this->potency = $potency;}
}
class Oven {
private $temperature;
public function get_temperature() {return $this->temperature;}
public function set_temperature ($temperature) {$this->temperature = $temperature;}
}
}
?>
運行$ php index.php
給出了下面的輸出:
object(kitchen\Oven)#1 (1) {
["temperature":"kitchen\Oven":private]=>
NULL
}
object(kitchen\Microwave)#2 (1) {
["potency":"kitchen\Microwave":private]=>
NULL
}
object(kitchen\Oven)#2 (1) {
["temperature":"kitchen\Oven":private]=>
NULL
}
一切都好,我唯一關心的是命名。我* 必須 *提名我的文件與該文件中的任何類相同的名稱。有沒有什麼方法可以讓我使用更通用的名稱?我希望我可以使用「kitchen/objects.php」而不是「kitchen/oven.php」。
謝謝。
請把每個類放在一個單獨的文件中。並閱讀手冊。 – 2013-02-14 19:17:40