controller - 在 Laravel 4 中是否有子域 Controller 的最佳实践?

标签 controller laravel laravel-4 subdomain

我正在寻找一种简单的方法来获取现有的 Laravel 4 Controller 和模型,并让它们在访问“api.myapp.com”时返回 json 对象响应。

是否有可用于指定子域请求的路由过滤器?

最佳答案

我发现问题出在两件事上: 1)我忘记更新本地主机文件以正确解析子域。 2) Laravel 4 Route::resource 实例不能在多个 Route::group() 中重用。

我发现在不同子域上引用相同资源路由的唯一方法是手动指定每个 RESTful 路由并为每个资源创建一个新 Controller 。 Jeffery Way 有一个很棒的片段来加速这个过程。 Snippet here.

请注意每个复制的 Controller 之前的“Api..”,它在我的 Controller 目录中的名称相同。

Route::group(array('domain' => 'www.myapp.com'), function()
{
    Route::resource('projects', 'ProjectsController');
});

Route::group(array('domain' => 'api.myapp.com'), function()
{

/ Resource API
// project API Resource
    Route::get('projects', array('as' => 'projects', 'uses' => 'ApiProjectsController@index'));
    Route::get('projects/{id}', array('as' => 'project', 'uses' => 'ApiProjectsController@show'));
    Route::get('projects/new', array('as' => 'new_project', 'uses' => 'ApiProjectsController@new'));
    Route::get('projects/{id}/edit', array('as' => 'edit_project', 'uses' => 'ApiProjectsController@edit'));
    Route::post('projects', 'ApiProjectsController@create');
    Route::put('projects/{id}', 'ApiProjectsController@update');
    Route::delete('projects/{id}', 'ApiProjectsController@destroy');
});

下一步是在 ApiProjectController RESTful 方法中调用适当的响应。

关于controller - 在 Laravel 4 中是否有子域 Controller 的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15208642/

相关文章:

php - Magento 1 - 如果 Controller 被重写,为什么 Controller Action 预发送事件不会触发?

php - 使用 faker 防止 Laravel 工厂中两个外键的重复条目

php - 当路由不存在 laravel 4 时重定向

layout - Laravel 4 + 将变量传递给主布局

php - Laravel 4 对 LEFT() mysql 字符串函数使用查询生成器

database - Laravel 4,如何为具有关系的表创建种子数据?

ios - 没有 Storyboard的 CollectionView Controller 创建

angularjs - 在$ routeProvider中使用resolve会导致 'Unknown provider …'

ruby-on-rails - 编辑方法是创建新记录,而不仅仅是更新现有记录

php - 在 laravel 的 mysql 查询中获取计数