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

简介: 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');
});
相关文章
|
28天前
|
缓存 安全 PHP
深入浅出PHP框架:Laravel的优雅之旅
【8月更文挑战第15天】 探索PHP世界里的瑰宝,Laravel框架以其优雅、简洁著称。本文将带你领略Laravel的核心魅力,从安装到构建应用,再到高级特性的应用,让你轻松驾驭这个强大的工具。无论你是PHP新手还是资深开发者,这篇文章都将成为你理解并使用Laravel的指南针。
|
12天前
|
前端开发 中间件 PHP
|
12天前
|
缓存 中间件 PHP
Laravel 框架:优雅 PHP Web 开发的典范
【8月更文挑战第31天】
35 0
|
12天前
|
安全 Java 云计算
JSF 应用究竟何去何从?云端部署能否成为其全新突破点?快来一探究竟!
【8月更文挑战第31天】本文介绍了将JavaServer Faces(JSF)应用部署到云平台的过程。首先,根据成本、功能、可靠性和安全性选择合适的云平台。接着,展示了构建简单JSF应用的示例代码。最后,以AWS Elastic Beanstalk为例,详细说明了部署流程。部署至云端可提升应用的可用性、扩展性和安全性。
25 0
|
1月前
|
缓存 前端开发 API
PHP现代化之路:从传统到Laravel的演进
【8月更文挑战第4天】 在数字化浪潮不断推进的今天,PHP作为一门历史悠久的编程语言,面临着前所未有的挑战与机遇。本文将探讨PHP如何通过现代化改造,特别是Laravel框架的应用,实现从传统Web开发向现代应用架构的转变,并分析这一转变对开发者和项目带来的影响。
|
14天前
|
安全 中间件 网络安全
深入浅出PHP框架之Laravel的优雅云计算与网络安全:探索云服务、网络安全和信息安全的技术领域
【8月更文挑战第29天】在编程的世界里,PHP以其灵活性和易用性广受欢迎。本文将深入探讨PHP的一个流行框架——Laravel,揭示它如何以简洁、高雅的解决方案满足复杂的开发需求。我们将一起走进Laravel的世界,探索其背后的哲学,以及它如何让代码变得更加动人和富有韵律。
|
19天前
|
存储 关系型数据库 Linux
【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
|
2月前
|
缓存 中间件 API
PHP框架详解 - Laravel 框架
PHP框架详解 - Laravel 框架
|
3月前
|
开发框架 中间件 PHP
Laravel框架:优雅构建PHP Web应用的秘诀
**Laravel 框架简介:** Laravel是PHP的优雅Web开发框架,以其简洁语法、强大功能和良好开发者体验闻名。它强调代码的可读性和可维护性,加速复杂应用的构建。基础步骤包括安装PHP和Composer,然后运行`composer create-project`创建新项目。Laravel的路由、控制器和Blade模板引擎简化了HTTP请求处理和视图创建。模型和数据库迁移通过Eloquent ORM使数据库操作直观。Artisan命令行工具、队列、事件和认证系统进一步增强了其功能。【6月更文挑战第26天】
37 1
|
2月前
|
PHP 开发者
PHP框架中Laravel排名?
【7月更文挑战第2天】PHP框架中Laravel排名?
21 0