簡體   English   中英

包括其他文件中的PHP和JavaScript函數

[英]Including PHP & JavaScript functions from other files

目前,我正在制作一個相當大的Web系統(與過去相比)。 它具有許多PHP和JavaScript的功能,目前我在兩者中都有很多功能。

我一直走的路線是將要在頁面上使用的任何功能作為單獨的文件包含在頁面中,然后調用該功能。 這樣,如果您想在其他頁面上使用該功能,就不會在兩個頁面上都寫出該功能。

例如。 “ index.php”包括“ scripts.php”,並在“ scripts.php”中回顯函數的結果

現在,我有一個相當復雜的場景,其中有6個以上的函數,根據目的,在幾個不同的頁面上將需要不同的組合。 例如; 我有需要功能2,3和6的“第1頁”,需要功能2,4,5和6的“第2頁”,需要功能1,2,3和5的“第3頁”。

在這種情況下,更好的做法是:

A)在單獨的文件上具有所有單獨的功能,並且逐頁僅包含具有每一頁所需功能的文件。

要么

B)將所有單個功能放在一個文件中,該文件包含在每一頁上,即使不會調用一半功能。

要么

C)我沒考慮過的東西

可以包含比PHP中所需的功能更多的功能-額外的開銷是解析很小的額外PHP(以后可以通過緩存字節碼進行優化)。

您應該基於功能(最好是在類中)對功能進行分組-例如,數據庫訪問器,Redis / Memcache方法,圖像處理方法等等。

您可能會通過使用框架(例如Laravel,CodeIgniter等)或花一些時間閱讀其文檔並查看其結構方式而從中受益匪淺。 框架可以很好地幫助您組織代碼。

我鼓勵您考慮使用“面向對象”的方法,而不是“過程的”方法。

這個站點有一些很好的例子:

https://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

然后看一下用作曲家自動加載:

http://phpenthusiast.com/blog/how-to-autoload-with-composer

從務實的角度來看,將所有功能放在一個文件中不是問題。 但是,從經驗來看,可能會有一天您有許多遍及多個文件的require / include語句。

選項C

如果您想使用PHP名稱空間為函數創建 ,則可以創建一個自動加載器系統。

我通過使用有關自動加載的PHP手冊和PSR-4標准頁面來學習如何做到這一點。

切換到面向對象的編程可能會過大,但是當世界開始變得太大時,請記住將其作為一種選擇。

此致

安東尼·拉特利奇

暫無
暫無

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

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