這是一個普遍問題。當您移動文件或將文件移動到不同的目錄時,您採用了哪些技術來防止PHP代碼中的鏈接中斷?PHP中的健壯目錄管理器
回答
對於前端的東西,始終使用絕對URL(以'/'開頭,以便您可以根據需要從一個域移動到另一個域)。
對於內部include()
/require()
類型的東西,按照Gaurav建議並使用創建常量來表示路徑的配置文件(以便您可以根據需要從代碼中的一個位置輕鬆更改它)。
對於要重用的庫類型的東西(即類,函數等),我會通過php.ini(全局或本地),.htaccess(如果您使用的是Apache)將其添加到include_path
或通過ini_set()
函數。這樣,你可以包括這些文件的文件名(即<?php include_once('library.php'); ?>
)
如果你去ini_set路線,看看auto_append指令(它可以通過php.ini,.htaccess或ini_set設置) ...這樣,您可以爲每個頁面請求添加一個'bootstrap'文件,該文件只爲該應用程序設置include_path,而無需在每次轉動的位置添加ini_set語句。
說了這麼多,我建議你:
- 認爲自己的申請提前佈局提前,制定共同的約定,並堅持下去。
- 考慮學習設計模式(MVC等),這將讓你以新的方式思考如何設計應用程序
- 採納使用的應用程序框架(CakePHP中,Zend框架等),這將到來與建議(或強制)的文件/目錄佈局,讓你不必管理文件的位置和東西。
祝你好運!
令人敬畏的寫作......正是我所需要的。謝謝! – Matt 2010-03-23 10:25:09
如果您移動/重命名整個網頁鏈接的文件,並希望確保鏈接仍然有效,我會編寫一個303重定向(在哪裏以及如何取決於您的Web服務器以及它的配置)。
我使用配置文件其中I定義所有路徑(using define()
)至不同的目錄,如「根目錄」,「應用程序」或「樣式表」
這樣我需要改變只有一條線在一個文件並且這些更改在使用此變量的所有文件中都受到影響。
如果移動包含所有路徑的目錄(或文件本身)會發生什麼? ;) – Strae 2010-03-23 08:07:40
如果你將目錄移動到一個新的位置,那麼你只需要在配置文件中改變它的路徑,但如果你移動配置文件,那麼你將不得不做出調整。 – 2010-03-23 10:53:30
- 1. 健壯的CNN培訓
- 2. 健壯的代碼框架?
- 3. VBA優化健壯代碼
- 4. 使這個httpHandler更健壯?
- 5. YQL xpath不夠健壯
- 6. 使代碼更健壯(jQuery)
- 7. 健壯性原則和API
- 8. 健壯的自託管服務器的最佳選擇:WCF與ASP.NET Web Api
- 9. 編寫一個健壯的DBAdapter類
- 10. 健壯性的最佳實踐
- 11. 我是否理解如何使用Zend Framework構建健壯的php後端?
- 12. C#健壯的網絡連接處理Flask網絡
- 13. 使用JavaScript實現健壯的鍵盤快捷鍵處理
- 14. 健壯到異常值lm在R
- 15. 健壯地識別哪個shell運行
- 16. 安全/健壯地使用AdjustTokenPrivileges?
- 17. 在Puppet中管理目錄
- 18. 此ChannelFuture偵聽器註冊是否健壯?
- 19. 目錄資源管理器獲取NPE
- 20. NuGet包管理器更改目錄
- 21. 管理目錄api中的資源ID
- 22. 子目錄中的管理員區域
- 23. 如何通過適當的異常處理使你的Ruby腳本健壯
- 24. PHP代理目錄
- 25. PHP目錄處理
- 26. 的Windows 10和WSL - 目錄中的文件管理器
- 27. 禁止訪問管理器中的應用程序目錄
- 28. PHP CMS項目管理
- 29. 健壯的pthread互斥鎖 - 跨平臺的可移植性
- 30. R或Heroku上的其他健壯的Ruby數學庫?
你是什麼意思的「切換目錄」? – 2010-03-23 07:42:07