2011-07-28 45 views
1

我有一個單一的功能文件爲我的整個網站,並給予單個頁面90%的文件甚至沒有被調用。所以我只想加載在頁面中調用的函數,我是PHP的新手。加載特定功能PHP

+3

除非你在文件中有數千個函數,否則我不會擔心。 – JJJ

+0

你的檔案(LoC)有多大? – Sukumar

+0

不太重複,但接近... [在PHP「自動加載」功能?(http://stackoverflow.com/questions/6812948/autoload-functions-in-php) – Yoshi

回答

1

可以將此文件分割成許多小文件和只包括你需要使用。

但是,如果它不是一個大的文件時,它不會在所有

2

組功能降低你的表現連成具有共同特徵的幾個對象,使它們的靜態函數,並把每一個對象在一個單獨的文件。然後使用PHP5自動加載函數僅在使用它們時加載適當的對象。

+0

對象,靜態函數,自動加載函數...我認爲這對初學者來說有點多。 – sica07

+0

@ scia07:具有靜態函數的對象是一個相當簡單的概念,實際上可以與全局名稱空間中的標準函數相媲美。自動加載也非常友好。然而,一些代碼示例可能會使這個更容易理解。 – hakre

+0

任何鏈接,你可以引用我,讓我可以瞭解更多關於自動加載和如何實現它? –

1

你可以分割在多個文件中的函數文件,但記住,如果你需要更多的文件,加載甚至可能會比較慢,因爲你需要更多的IO命令加載不同的文件。

此外,您按功能拆分文件。如果您覺得所有這些功能都屬於同一個文件,請將它們放在一起。它不會減慢腳本的速度。

如果你喜歡,你可以把函數(靜態)類,並使用自動加載磁帶機加載的文件,但我並不贊成這個方案的。我認爲靜態類只是讓函數(和變量)脫離全局範圍的藉口,而創建僅用於自動加載的類會濫用自動加載功能。 當然,如果你創建一個更面向對象的腳本,使用類也是有意義的,並且自動加載它們可能會很方便。

1

其實這不是一個問題,有可使用的功能,但只在您的應用程序的一部分使用。更重要的是,當你需要它時,你可以擁有所有的東西,而不必關心何時加載。

如果您的系統的增長,你可能尋找的是自動加載磁帶機。 PHP支持autoloading of classes,但不支持函數。但是,您可以將您的函數分組到類中(有些人會爲了做出這樣的聲明而拍打我),然後利用自動加載。

0

如果你的文件大小不那麼大,如果你想實現自己的目標,然後將相關的功能,並將它們放入單獨的文件,包括只在必要文件,也不會在all.still降低你的表現......