簡體   English   中英

我應該如何將一些JavaScript集成到php應用程序中?

[英]How should I integrate some javascript into a php application?

我有一個中等大小的遺留php應用程序,幾乎沒有javascript集成。 我最近一直在使用Douglas Crockfords出色的書來學習javascript(是的,實際上是在學習它),並選擇YUI作為我的首選庫。 我已經嘗試了一些事情,並且做了一些工作,但是現在我想將各種組件正確地集成到我的應用程序中,我的問題是如何着手這樣做,以便於維護和代碼重用。

目前,應用程序包括

  • php頁面
  • 頁面每一部分的smarty模板(帶有一些特殊模板標記的html模板),因此單個頁面可以使用多個模板。
  • 單個css文件。

關於如何將JavaScript集成到頁面中,我有以下想法。

  1. 使用該部分所需的代碼在每個smarty模板中編寫內聯javascript。
  2. 編寫一個單獨的.js文件,以與鏈接到的每個smarty模板一起使用,然后編寫一個內聯腳本來運行它。
  3. 每個php頁面都有一個單獨的.js文件,該文件具有整個.php頁面所需的所有功能。 一個小的內聯函數將調用所需的任何函數。
  4. 我沒有什么嗎?

這有道理嗎? 有人對此有好的建議嗎?

更新:

額外的一點信息是它是一個內部應用程序,因此將所有內容限制在一個文件中並不是那么重要。

另外兩個選擇:

  1. 單個JS文件,其中包含整個網站的所有JS。 根據您的緩存設置,您應該能夠使用戶為整個站點下載一個文件,並為其他頁面使用緩存版本。
  2. 根據功能(而不是頁面)划分JS,並包括每個頁面所需的功能。 例如,一個頁面可能需要選項卡,表單驗證和動畫,而另一頁面可能僅需要選項卡。

或者,您也可以將它們混合在一起:一個JS文件包含絕大部分代碼,如果需要特定頁面或模板,則另外一個文件。

所提到的方法都不是錯誤的 (盡管我會盡可能地跳過內聯JS)。 哪一個最好取決於您的具體情況和您的個人喜好。

首先,大多數設置都允許使用主布局模板,您可以在其中放置一個公共頁面開口,或者每個模板都包含一些全局標題。

話雖如此, 您應該結合使用1、2和3

所有包含全局功能的模板中都包含一個.js 每個模板還可以選擇具有特定於該頁面或頁面部分的自己的.js 最后,如果某個頁面只有很少的代碼(或者每次都必須動態生成),那么為該頁面啟動另一個http連接就沒有意義,因此在模板中使用正確的源代碼即可。

如果您沒有大量的javascript,請創建一個外部js文件,並將其包含在網頁的標題中,然后進行處理。

暫無
暫無

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

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