首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后端/前端分离

后端/前端分离
EN

Stack Overflow用户
提问于 2014-02-19 21:57:33
回答 2查看 16.3K关注 0票数 9

我来自Codeignitor的背景。目前,我正在Laravel建立一个CMS。

我想知道的是如何在Laravel中分离后端和前端?

在Codeignitor中,我用来制作两个控制器Admin_Controller和Front_Controller。

代码语言:javascript
复制
Article extends Admin_Controller
Article extends Front_Controller

文件结构如下所示

代码语言:javascript
复制
controller
--admin
---user
---blog
---news
--user 
--blog
--news

对于管理员控制器,我使单独的文件夹和前端控制器保留在控制器文件夹的根目录中。

我应该在Laravel中使用相同的逻辑,还是有更好的方法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-19 22:18:19

如果你想创建像Taylor Otwell那样的思考,“核心”是试图教人们用Laravel做事情,这是一个很好的开始:

您的文件可以组织为

代码语言:javascript
复制
├── 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 (更好)以自动加载您的类:

代码语言:javascript
复制
"psr-0": {
    "ZIP": "app/"
},

根据您的源码树,为所有tour类创建名称空间:

代码语言:javascript
复制
<?php namespace ZIP\Controllers\Admin

class User extends Base {

}


<?php namespace ZIP\Controllers\Front

class Blog extends Base {

}

并创建您的基本控制器

代码语言:javascript
复制
<?php namespace ZIP\Controllers\Admin

use Controller;

class Base extends Controller {

}
票数 34
EN

Stack Overflow用户

发布于 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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21882662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档