為了使這個系統更強大,我們不希望所有用戶在我們組具有相同的地位。有些用戶需要管理員,其他主持人,和其他普通用戶只。我們怎麼能考慮到這一點在我們的物體?答案是繼承-的能力一類的繼承方法和屬性從另一個類別。首先,讓我們來看看繼承代碼:
/* Kirupa has admin powers */
$kirupa = new Admin( array( 'name' => 'Kirupa' ) );
echo $kirupa->getName().'<br />'; // Kirupa
echo $kirupa->getAdmin(); // Administrator
/* Regular does not have admin powers */
$regular = new User( array( 'name' => 'Regular' ) );
$regular->getAdmin(); // breaks our code
/* Normal User class */
class User {
private $name;
function __construct( $attribs ) {
$this->name = $attribs['name'];
}
function getName() {
return $this->name;
}
}
/* Admin is a User, but with additional functionality */
class Admin extends User {
function getAdmin() {
return 'Administrator';
}
}
正如你可以看到,我們的管理對象繼承了功能的用戶級使用關鍵字擴展。最重要的是,我們的管理是提供了一些額外的功能。在這種情況下,我們的用戶級被稱為超。在PHP中,一類只可繼承父之一。還有更多細微的繼承,但本教程將只支付基本知識。在一個更現實的情況下,我們將更多的功能代碼僅管理員。也許就像:
/* Additional functionality for just Administrators */
class Admin extends User {
function banUser( $id ) {
/* code to ban user */
}
function unbanUser( $id ) {
/* code to unban or activate user account */
}
//...
}