如何在 Laravel 中为这种情况创建路由?

两性离子

基本思想是像子域架构一样工作,但用户帐户将出现在网站名称之后。

我有一个名为myService.com的网络服务我会有像Paul,Anne,Jhon这样的用户。我希望 Laravel 能够像这样为 Paul、Anne 和 Jhon 创建主页:

  1. myService.com /Paul = > 应该重定向到 Paul 主页
  2. myService.com /Anne = > 应该重定向到 Anne 主页
  3. myService.com /Jhon = > 应该重定向到 Jhon 主页

但是myService.com拥有自己的主页和其他页面。我喜欢这样:

Route::get('/', function () {
    return view('home');//myService.com HOME page
});

Route::group(['prefix'=>'videos'], function (){

    Route::get('/', function () {
        return "all videos";
    });
    Route::get('/{id}', function ($id) {
        return "Video => $id";
    });

});

Route::group(['prefix'=>'articles'], function (){

        Route::get('/', function () {
            return "all articles";
        });
        Route::get('/{id}', function ($id) {
            return "Article => $id";
        });
 });

对于用户,我将拥有几乎相同的 URL 结构:

myService.com/Paul
myService.com/Paul/videos
myService.com/Paul/videos/id
myService.com/Paul/articles
myService.com/Paul/articles/id

myService.com/Paul2
myService.com/Paul2/videos
myService.com/Paul2/videos/id
myService.com/Paul2/articles
myService.com/Paul2/articles/id

由于我将拥有无限的用户帐户,因此我不知道如何为该方案设计Route结构。

应该是这样吗?

Route::group(['prefix'=>'account'], function (){

    Route::get('/', function ($account) {
        return "user $account home page";//Ex myService.com/Paul
    });

    Route::group(['prefix'=>'videos'], function (){
        Route::get('/', function () {
           return "user account - all videos";//Ex myService.com/Paul/videos
        });

        Route::get('/{id}', function ($id) {
           return "user account video => $id";//Ex myService.com/Paul/videos/id
        });
    });

    Route::group(['prefix'=>'articles'], function (){
        Route::get('/', function () {
           return "user account - all articles";//Ex myService.com/Paul/articles
        });

        Route::get('/{id}', function ($id) {
           return "user account articles => $id";//Ex myService.com/Paul/articles/id
        });
    });

});

这是我到目前为止所做的,但我不知道这是否是一个好方法。它是正确的?

EddyTheDove

在路由的末尾定义该组,以便其他路由具有优先权。然后你可以使用 slug 作为用户名(或你正在使用的任何东西)

Route::group(['prefix' => '{username}'], function(){
    Route::group(['prefix' => 'videos'], function(){
        ...
    });
});

但是这个 groupe 更有可能尝试拿起你所有的404. 也许你可以添加额外的约束

Route::group(['prefix' => '{username}'], function(){
    ...
})->where('username', '[A-Za-z]+');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用参数在 Laravel 中创建路由 API

来自分类Dev

如何在AngularJS + JavaScript中创建路由?

来自分类Dev

如何在 Laravel 中为 SEO 设置路由?

来自分类Dev

如何在laravel 5.1中创建通用路由规则?

来自分类Dev

如何在Laravel中创建init db?

来自分类Dev

如何在Laravel中创建下载链接

来自分类Dev

如何在Laravel 5中创建包?

来自分类Dev

如何在Laravel中创建子域

来自分类Dev

如何在Laravel中创建种子方案

来自分类Dev

如何在Laravel中创建产品网址?

来自分类Dev

如何在laravel 5.8中创建搜索

来自分类Dev

如何在Laravel中创建局部模板?

来自分类Dev

如何在Laravel Passport中创建角色?

来自分类Dev

如何在Laravel集合中创建数组

来自分类Dev

如何在 Laravel 5.3 中创建包

来自分类Dev

如何在 Laravel 中创建别名?

来自分类Dev

如何在 Laravel 中创建关系

来自分类Dev

如何在Symfony中的特定自定义捆绑中创建路由?

来自分类Dev

如何在laravel中为url中的多个参数编写路由?

来自分类Dev

如何在带有参数化角色的akka中创建路由器?

来自分类Dev

Angular CLI(Angular2)和WebStorm:如何在WebStorm中创建路由?

来自分类Dev

如何在路由Laravel中指定路径?

来自分类Dev

如何在 Laravel 5.6 中使用路由?

来自分类Dev

如何在Laravel中为相同模式路由GET和POST?

来自分类Dev

如何在Laravel 4.2中为多个开发人员使用git路由

来自分类Dev

如何在Laravel 4中为命名路由声明控制器方法?

来自分类Dev

如何在 Laravel 中为 1 个路由分配 2 个或更多用户角色?

来自分类Dev

如何在Laravel中创建带有前缀但无前缀的子路由?

来自分类Dev

如何在类中使用FastAPI创建路由

Related 相关文章

热门标签

归档