我一直在这个主题上来回走动,真的可以使用一些见解。
我正在Laravel中编写API,在Laravel中编写Web App。我一直在这个过程中来回走动,想知道它们是否应该在同一个Laravel安装中,或者它们是否应该单独安装。我可以想到的单独安装的pro和con如下:
Pro的
精读的
最好的方法是什么?
另外,真正的问题是,如果我要将它们放在同一个安装上,那么设置文件夹结构以便在单个Laravel安装上运行到应用程序的最佳方法是什么?
答案 0 :(得分:1)
您可以将代码与命名空间分开。使用composer.json文件和PSR-4,这样您就可以拥有单独的代码库,甚至是控制器和模型。或者您可以在Core命名空间中使用相同的模型。
{
...
"autoload": {
"psr-4": {
"Api\\": "app/Api",
"Core\\": "app/Core",
"Web\\": "app/Web"
},
...
}
答案 1 :(得分:0)
当然,您至少想要将模型保持在一起吗?
我建议将安装保持在一起并使用路线分开:
Route::group( array('before'=>array('api'), 'prefix' => 'api' ), function() {
...
}
Route::group( array('before'=>array('auth'), 'prefix' => 'webapp' ), function() {
...
}
结构是个人偏好,但我会:
Controllers
|------API
| |-------MyController.php
|
|------WebApp
|-------MyController.php
然后在控制器中使用命名空间:
<?php
namespace API;
class MyController extends \APIBaseController {
更新
如果您需要名称空间,请执行以下操作:
app
|
|------core
| |-------Models
|
|------api
| |-------Controllers
|
|------webapp
|-------Controllers