我来自Codeignitor的背景。目前,我正在Laravel建立一个CMS。
我想知道的是如何在Laravel中分离后端和前端?
在Codeignitor中,我用来制作两个控制器Admin_Controller和Front_Controller。
Article extends Admin_Controller
Article extends Front_Controller文件结构如下所示
controller
--admin
---user
---blog
---news
--user
--blog
--news对于管理员控制器,我使单独的文件夹和前端控制器保留在控制器文件夹的根目录中。
我应该在Laravel中使用相同的逻辑,还是有更好的方法呢?
发布于 2014-02-19 22:18:19
如果你想创建像Taylor Otwell那样的思考,“核心”是试图教人们用Laravel做事情,这是一个很好的开始:
您的文件可以组织为
├── app
│ ├── ZIP
│ │ ├── Controllers
│ │ │ ├── Admin
│ │ │ │ ├── Base.php <--- your base controller
│ │ │ │ ├── User.php
│ │ │ │ ├── Blog.php
│ │ │ │ ├── News.php
│ │ │ ├── Front
│ │ │ │ ├── Base.php <--- your base controller
│ │ │ │ ├── User.php
│ │ │ │ ├── Blog.php
│ │ │ │ ├── News.php配置PSR-0或PSR-4 (更好)以自动加载您的类:
"psr-0": {
"ZIP": "app/"
},根据您的源码树,为所有tour类创建名称空间:
<?php namespace ZIP\Controllers\Admin
class User extends Base {
}
<?php namespace ZIP\Controllers\Front
class Blog extends Base {
}并创建您的基本控制器
<?php namespace ZIP\Controllers\Admin
use Controller;
class Base extends Controller {
}发布于 2014-02-19 22:10:24
你当然可以用两个控制器的方式来做,或者如果你想要更多的分离(和更“Laravel”的方式),把你的前端和后端写成单独的包(以前在Laravel 3中称为bundles )。
它们基本上就像你的主应用程序中的独立应用程序。它们可以有自己的路由、模型、控制器等。你还可以在主应用程序级别编写“核心代码”,这些代码可以在包中共享。
如果你想学习一个新的框架而迁移到Laravel,那么你绝对应该尝试并掌握包--非常强大。
如果你被“强迫”搬到Laravel,或者有一些时间压力,就像平常那样做。Laravel是灵活的,无论您使用哪种方式都会很好。
有关更多信息,请参阅文档。
Laravel当前版本(撰写本文时为4)- http://laravel.com/docs/packages
Laravel 3- http://three.laravel.com/docs/bundles
https://stackoverflow.com/questions/21882662
复制相似问题