PHP - Laravel 控制器创建(关联路由、路由命名空间分组)

一、控制器创建
  • 控制器文件写到哪?

    存放文件夹:app/Http/Controllers

  • 控制器文件如何命名?

    命名:使用大驼峰,同时注意命名空间和基类控制器的引入

  • 控制器文件创建命令

    // 一遍控制器
    $ php artisan make:controller 控制器名(LoginController)
    
    // 资源控制器
    $ php artisan make:controller 控制器名(TestController) --resource
    // 可简写
    $ php artisan make:controller 控制器名(TestController) --r
    
    // 如果需要将控制器放到指定目录
    // 例如:`app/Http/Controllers/Admin`
    $ php artisan make:controller Admin/控制器名(LoginController)
    
    <?php
      
    // 命名空间
    namespace App\Http\Controllers\Admin;
    
    // 命名空间要写在 use 前面
    use Illuminate\Http\Request;
    use App\Http\Controllers\Controller;
    
    class LoginController extends Controller
    {
        // 控制器内部方法属性
    }
    
二、定义路由访问控制器中的方法
  • 路由样式

    Route::请求方式('url', 匿名函数);
    Route::请求方式('url', '控制器名称@操作方法');
    Route::请求方式('url', '命令空间\控制器名称@操作方法');
    
  • 通过创建控制器命令,创建两个控制器

    // 创建一个登录控制器,在根目录 Controllers 中
    $ php artisan make:controller LoginController
    
    
    // 创建一个退出控制器,在 Controllers/Admin 中,Admin 文件需要手动创建
    $ php artisan make:controller Admin/LogoutController
    

  • 路由绑定控制器并调用指定方法,web.php 文件中:

    // 路由控制器 - 登录
    // 如果控制器类在 Controllers 根目录下,则不用加命令空间
    Route::get('login', 'LoginController@index') -> name('login');
    
    // 路由控制器 - 退出
    // 如果控制器类在 Controllers 根目录下面其他文件夹中,则必须加命令空间
    Route::get('logout', 'Admin\LogoutController@index') -> name('logout');
    

    注意:方法带参数跟之前一致

    // 路由控制器 - 登录
    // 如果控制器类在 Controllers 根目录下,则不用加命令空间
    Route::get('login/{username?}', 'LoginController@index') -> name('login');
    

三、路由命令空间分组
  • 以上面退出登录路由为例子
    // 路由控制器 - 退出
    // 如果控制器类在 Controllers 根目录下面其他文件夹中,则必须加命令空间
    Route::get('logout', 'Admin\LogoutController@index') -> name('logout');
    
    // 将上面路由进行命名空间分组
    Route::group(['namespace'=>'Admin'], function () {
       Route::get('logout', 'LogoutController@index') -> name('logout');
    });
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Laravel 中,创建模型可以使用 Artisan 命令 `make:model`。该命令将在 `app` 目录下创建一个新的模型文件,例如: ``` php artisan make:model User ``` 这将在 `app` 目录下创建一个名为 `User` 的模型文件。 要在 Laravel 中编写相应的路由控制器和视图,可以按照以下步骤进行: 1. 创建路由 在 `routes/web.php` 文件中,可以使用 `Route` 类来定义路由。例如,要创建一个显示所有用户的路由,可以这样写: ``` Route::get('/users', 'UserController@index'); ``` 这将创建一个 `GET` 请求路由,访问 `/users` 路径时将调用 `UserController` 控制器的 `index` 方法。 2. 创建控制器 使用 Artisan 命令 `make:controller` 来创建控制器。例如,要创建一个名为 `UserController` 的控制器,可以这样写: ``` php artisan make:controller UserController ``` 这将在 `app/Http/Controllers` 目录下创建一个名为 `UserController` 的控制器文件。 在 `UserController` 控制器中,可以定义 `index` 方法来显示所有用户: ``` public function index() { $users = User::all(); return view('users.index', ['users' => $users]); } ``` 该方法使用模型查询所有用户,并将它们传递到名为 `users/index.blade.php` 的视图中。 3. 创建视图 使用 Blade 模板引擎来创建视图。例如,要创建名为 `index.blade.php` 的视图文件,可以在 `resources/views/users` 目录下创建一个名为 `index.blade.php` 的文件。 在 `index.blade.php` 文件中,可以使用循环语句来遍历所有用户并显示它们: ``` @foreach ($users as $user) <div>{{ $user->name }}</div> @endforeach ``` 这将遍历所有用户,并在页面上显示它们的名字。 最后,访问 `/users` 路径时,将显示所有用户的名字。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值