【问题标题】:How to use laravel 4 routes correctly?如何正确使用 laravel 4 路由?
【发布时间】:2014-01-27 00:27:32
【问题描述】:

我真的是 Laravel 的新手。

上下文:

  • 我创建了 2 个迁移(users_table 和 posts_table)。
  • 我创建了 2 个用户和帖子之间关系正确的模型。
  • 我在我的数据库中植入了一些数据。

但我对路线和视图有点困惑。

这是我的原型:

// Posts

Route::get('add', 'PostsController@add');
Route::post('add', 'PostsController@store');

Route::resource('posts', 'PostsController', array(
    'except' => array('create', 'store')
));


// Users

Route::get('login', 'UsersController@login');

Route::get('logout', 'UsersController@logout');

Route::get('profile', array(
    'before' => 'auth',
    'uses' => 'UserController@profile'
));

Route::get('register', UsersController@register');

Route::post('register', 'UsersController@store');

Route::resource('users', 'UsersController', array(
    'except' => array('create', 'store')
));

你会为这个简单的例子做什么?

我真的不知道如何以适当的方式实现 slug 路由。

你有合适的路由和 seo 的好例子吗? (Github / BitBucket)

谢谢!

【问题讨论】:

    标签: routing laravel laravel-4


    【解决方案1】:

    这是 post slug 的示例路线:

    Route::get('posts/{slug}', array('as' => 'posts.show', 'uses' => 'PostsController@show'));
    

    和控制器显示方法:

    class PostsController extends BaseController {
    
        public function show($slug, $language = null)
        {
            if ($post = Post::findBySlug($slug))
            {
                return View::make('posts.article')->with('post', $post);
            }
    
            return Redirect::route('posts.index');
        }
    }
    

    在您的模型中,您可以通过 slug 方法添加查找:

    public static function findBySlug($slug)
    {
        return Post::where('slug', $slug)->first();
    }
    

    为了拯救你的蛞蝓,像这样:

    $post->title = Input::get('title');
    $post->post = Input::get('text');
    $post->slug = Str::slug(Input::get('title'));
    $post->save();
    

    【讨论】:

    • 感谢您的回答,文档说要使用动态范围而不是您的 findBySlug 方法。我认为使用资源会简化我的应用程序,但我会创建自己的自定义路线。只是关于路线的另一个问题。您是否使用了 Route::get、Route::post、... 或 Route::any 并在控制器中检查请求?
    • 我使用 Route::get() 和 Route::post()。控制器上的代码越少越好。另外,看看这篇关于路由的帖子:philsturgeon.co.uk/blog/2013/07/beware-the-route-to-evil
    猜你喜欢
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2018-12-06
    相关资源
    最近更新 更多