2016-09-19 29 views
0

我目前正在經歷自動加載,我認識到,自動加載可能只是要求或包括相同,我得出結論,也許有可能是使用自動加載而不是要求或包括。 使用自動加載代替require或include來在php文件中使用類的優點是什麼?自動加載vs包括或需要在PHP

+3

難道不明顯嗎?無需編寫require/include行? – SOFe

回答

1

當你在一個文件中工作時,你可能需要在頂部的其他文件中使用它們的功能。

根據要求,該列表可能會變得很長。在每個文件中做這件事是乏味的,不潔的,可以避免的。

因此,自動加載您的文件。

例如,您可以將所有類保存在一個名爲classes的文件夾下。然後做一個引導文件,你可以寫磁帶自動加載機:

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

爲了使這項工作,所有你需要做的就是保持文件名和類名相同。

此後,您只需要僅需要此引導程序文件,並且您的所有類都將自動加載。

+0

我也可以添加一個數組中的所有類自動加載所有類,而不包括許多文件,對嗎? – athene

+0

你怎麼能這樣做?你可以要求/包含文件,而不是數組。你可能有其他文件夾,如控制器,有類的系統。在這種情況下,您可以創建一個文件夾名稱的數組,並在循環它們的同時,在類中需要。並且您在spl_autoload_register函數中執行此操作。 – Bonzo

+0

它正是我的意思,我通常使用控制器與框架,但是,說你沒有使用框架,是否真的需要一個控制器? – athene