2012-02-27 17 views
9

是否有一個庫供PHP訪問Amazon S3,讓我可以使用完全相同的代碼讀取/寫入S3存儲桶或對本地文件執行相同操作?用於Amazon S3的PHP庫和本地回退

我想使用S3,但我需要一種方法來在本地運行我的應用程序進行測試。

如果沒有直接支持切換到本地文件系統的庫,是否有一個以良好的OOP方式編寫,以便我可以使用相同的接口創建本地文件系統版本?

我正在使用Symfony2,所以如果有這樣的捆綁,這將是一個加號,但我總是可以使它自己捆綁。

UPDATE

我想發財了,現在做到這一點。我只需要操作「創建」,「存在」和「刪除」,所以我創建了一個接口來處理它。然後我有一個「本地」實現和一個「S3」實現。

什麼是乾淨的Symfony2方法允許其他類通過ID訪問某些服務,並根據配置參數獲取LocalStorageS3Storage類?我想過使用「class」參數,但是我的S3服務依賴於底層的AmazonS3類(使用AWS bundle)。

+1

'但我總是可以自己做一個捆綁.' ---如果你這樣做 - 分享它在github上;-) – zerkms 2012-02-27 02:59:54

+0

所以沒有人做到這一點?我很好奇人們如何在本地開發和測試中使用S3 ...... – Matt 2012-03-10 06:09:49

回答

11

您正在尋找名爲Gaufrette的圖書館。 Symfony2還有KnpGaufretteBundle。它擁有你所需要的一切。

+1

非常感謝!我希望我早點發現它。我剛剛開始實施我自己的(相同的概念,但在更簡單的規模上滿足我的需求)。我肯定會使用它,因爲我沒有爲我的實現編寫測試,我相信Knp代碼要經過良好測試。 – Matt 2012-04-13 14:31:08

+1

祝你好運。這是一個很好的圖書館(我自己使用它爲2個prod網站)。 – 2012-04-13 17:47:34