[英]backend/frontend separation in laravel
我來自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中使用相同的邏輯還是有更好的方法來做到這一點?
如果你想創造像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/"
},
根據源樹,為所有巡視類創建名稱空間:
<?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 {
}
您當然可以通過兩種控制器方式進行操作,或者如果您想要更多的分離(以及更多'laravel'方式),請將前端和后端編寫為單獨的包(之前稱為Laravel 3中的捆綁包)。
它們基本上像主應用程序中的獨立應用程序。 他們可以擁有自己的路徑,模型,控制器等。您還可以在主應用程序級別編寫“核心代碼”,這些代碼可以在程序包之間共享。
如果你想要學習一個新的框架,那么你要轉向Laravel,那么你一定要嘗試去處理一個包 - 非常強大。
如果你被“制造”移動到Laravel,或者有時間壓力,那就按照平時的做法去做吧。 Laravel很靈活,無論你做什么都會很好。
有關詳細信息,請參閱文檔。
Laravel當前版本(撰寫本文時為4) - http://laravel.com/docs/packages
Laravel 3 - http://three.laravel.com/docs/bundles
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.