我正在使用Laravel創建一個版本化的JSON API,然後通過AngularJS訪問我的頁面。目前我使用版本控制器返回JSON(最終我計劃實現依賴注入&版本化的存儲庫)。PHP命名空間約定用於版本化API?
我試圖命名空間我的控制器格式App\Controllers\API\v1.0
,但是當我訪問本地主機:800/API/1.0 /公司在我的瀏覽器,在返回JSON,我通知Class App\Controllers\API\v1.0\CompaniesController does not exist
。我猜這是因爲.
被解釋爲反斜槓之一?我可以通過將命名空間更改爲App\Controllers\API\v1
或App\Controllers\API\v1\v0
來製作應用程序功能,但前者不允許進行正確的版本控制,而後者似乎有點...不雅觀。
我應該使用什麼約定爲我的命名空間充分地版本化我的API?任何意見,將不勝感激! :)
試試'php composer dump-autoload'。你把這些控制器放在哪裏? PSR-0是否自動加載它們?或者他們在'app/controllers'目錄中? – fideloper
我每次更改命名空間時都會使用'composer dumpautoload'。控制器存儲在'app/controllers/API/1.0/.'中。在我的'routes.php'中,我將控制器直接引用爲'App \ Controllers \ API \ v1.0 \ CompaniesController'。路由和控制器的工作,但不是與我想要的名稱空間或我想要的名稱空間 –