簡體   English   中英

OOP PHP需要類,擴展

[英]OOP PHP require classes, extends

目前,我試圖了解OOP如何應用於PHP,並且在繼承時無法調用類。

我正在使用以下PHP代碼:

require_once("init.php");

$table = new Table();
$table->draw();

$customer1 = new Customer();

由於表類只是一個普通類(未繼承),它將正確加載。

init.php具有以下PHP代碼:

function __autoload($class_name) {
require_once('classes/'.$class_name . '.class.php');
}

因為Customer類正在插入User類,所以Customer類的代碼位於User類內部,但是__autoload函數現在嘗試調用customer.class.php。

我的客戶類如下所示:

class User
{
    private $_username;

    public function __construct($name)
    {
        $this->_username = $name;
    }

    public function getUsername()
    {
        return $this->_username;
    }
}

class Customer extends User
{
    public function __construct()
    {
        //some code here
    }
}

誰能解釋一下我如何用PHP調用繼承的類?

每個文件只能有一個類。 只要每個類都在自己的文件中,自動加載將為您處理所有事情,命名方式相同...

將所有客戶類代碼放入Customer.class.php

正是由於這種自動加載,每個類都應該寫在自己的文件中。 沒有理由為什么class Customer必須與class User位於同一文件中,只需將其放在自己的文件中,您的自動加載器就可以正確處理它。

否則,您將不得不采用其他一些命名方案,並編寫一個更智能的自動加載器,該加載器可以在具有不同名稱的文件中查找類。 (不要那樣做,不是真的。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM