0

我对 angularjs 完全陌生,我正在练习。

我有点坚持以下内容,我有一个加载用户详细信息的个人资料页面,我真的不知道如何显示它,问题是我卡在逻辑上。

我为它创建了 2 条路线

Route::get('/(:any)', array('as' => 'profile', 'uses' => 'user@profile'));
Route::get('/details/(:any)', array('as' => 'profile', 'uses' => 'user@details'));

所以网址实际上看起来像这样:http://mysite.com/username

所以我的逻辑是这样的,这条路线

 Route::get('/(:any)', array('as' => 'profile', 'uses' => 'user@profile'));

返回配置文件视图

这条路线将在 json 中获取用户数据

Route::get('/details/(:any)', array('as' => 'profile', 'uses' => 'user@details'));

我坚持的是这个

我加载视图,http://mysite.com/username我得到个人资料页面,

Laravel 视图加载

public function get_profile($username = '')
    {
       return View::make('user.profile');
    }

加载 json

 public function get_details($username = '')
    {
        $users = User::where_username($username)->get();

        return  Response::eloquent($users);
    }    

angularjs控制器

function profileCtrl($scope, $http) {
    //here get the url first segment somehow
    // and pass it to the get
    // example
    // urlSegment = username
    $http('details/' + username ).success(function(data){
        $scope.users = data;
        console.debug(data);
    });

}

所以我的问题是,我这样做好吗,或者我完全没有走上正轨。有人可以给我看一个例子吗?

谢谢

编辑

更具体地说,我正在尝试使用 angularjs 和 laravel 创建一个宁静的 api,但我有点坚持。我不明白的是路由逻辑。

例子。

mysite.com/username,我需要建立什么类型的路由逻辑来获取数据?因为我在上面解释过,我为它创建了 2 条路线,我认为那不好。

4

2 回答 2

4

我正在尝试使用 angularjs 和 laravel 创建一个宁静的 api,但我有点坚持。我不明白的是路由逻辑。

Laravel 提供了许多方便的方法来创建一个 Restful API。需要注意的是,Laravel 是“restful api”,而 AngularJS 是客户端,它将使用 API 来显示结果(即作为用户前端)。

Laravel 4 引用了“资源控制器”来帮助你构建一个 restful API。使用这张图片,你可以看到控制器应该如何布局,以及每个命令具体需要做什么:

在此处输入图像描述

只需将“照片”替换为“用户”,这就是控制器的布局方式。如果你使用 Laravel 4,你可以使用 Artisan 生成一个资源丰富的控制器:

php artisan controller:make UserController

它将添加上面准备好的每个功能。

Laravel 3 指的是“Restful Controllers” ——但原理是一样的。

如果您有兴趣 - Nettuts 有一个很棒的免费教程,介绍如何使用 Laravel 4 从头开始​​创建一个 Restful API。如果您遵循本教程 - 您将为您的用户类提供完整的 restful API。它比这个答案更详细。

对于 Laravel 4,您的路线将只是一行代码:

Route::resource('user', UserController);

然后您将运行以下工匠命令

php artisan controller:make UserController
php composer.phar dump-autoload

然后你的用户控制器就准备好了,所有的功能都搭建好了,你需要做的就是把一些基本的逻辑放进去。

编辑:我刚刚找到了另一个进一步解释 Laravel 4 资源控制器的教程

于 2013-02-22T14:22:27.983 回答
1

Angular 是一个仅在浏览器中运行的客户端框架。所以你根本无法用它创建一个宁静的 API。一个安静的 API 总是只在服务器上运行,所以Laravel 应该为它工作

Angular 的使用方式是客户端从运行在服务器上的 restful API(使用$http 模块)请求 JSON 格式的内容,然后在客户端构建 HTML。看看什么是 angularjs-routes 的点是什么?我也强烈推荐官方教程

于 2013-02-25T14:20:24.643 回答