我正在創建一個模塊,在模塊安裝時需要完成一些工作(僅限一次)。可能有很多事情需要完成,但我需要做的最基本的事情是對服務器進行API調用,讓外部服務器知道模塊已安裝,並獲得一些更新的配置項目。首次安裝模塊時,執行一些與數據庫無關的PHP的適當/最佳實踐方法?
我看過這個this question on stackoverflow但是在我的情況下,我真的很想執行與數據庫,燈具,更新表等無關的代碼。另外,爲了清楚這個模塊沒有影響(效果?)在前端。僅供參考,我也閱讀了Alan Storm的this spectacular article,但這真的只能讓我想起安裝/升級腳本不適用於執行隨機PHP。
在我的腦海裏,我有幾種可能的方式來實現:
- 我做什麼,我擔心的是不是最好的做法,並添加一些PHP到我的設置/安裝腳本來執行這個PHP
- 我創建了一些cronjob,它將執行我只需要一次的任務(不知道這將如何工作,但它似乎可能是一個「創造性」的解決方案 - 當然,如果cron沒有正確設置,那麼這將失敗,這不好
- 我創建了一個core_config_data標誌('mynamespace/mymodule/initialized'),一旦我的腳本運行就設置好了,我檢查我的模塊觸及的adminhtml的每個區域(CMS/Pages和我自己的自定義adminhtml控制器)。這似乎是一個很好的解決方案,除了每次點擊CMS/Pages或控制器命中時檢查此core_config_data設置的額外開銷。關於這個解決方案的好事是,如果某些事情因我的API調用而失敗,我可以將此標誌設置爲false,並且它會再次運行,顯示相應的消息,並繼續運行,直到成功爲止(或者有額外的邏輯將停止嘗試後的XX號)
是否有任何這些選項的「最佳」的方式,以及是否有任何形式的先例這個地方,初始化代碼,如受人尊敬的延伸或Magento的自己?
在此先感謝您的時間!
感謝您花時間回覆@sonassi - 非常感謝!我誠實地從來沒有想過看梨相關的magento連接文件尋找解決方案,說實話,我不知道如何Magento連接實際上在後臺工作(我從來沒有太多的理由和我已經總是認爲這是一個簡單的過程),但是這給了我一些其他的東西來看待。如果您對此有任何其他想法/想法,我一定會喜歡聽到他們! – 2012-03-14 00:23:12