控制器文件位置
控制器文件的位置位于app/Http/Controller
文件下,如下图所示:
控制器文件的命名
根据已存在的四个范例控制器文件名可以得知其命名方式为:大驼峰的控制器命名+Controller
,如下图所示:
控制器结构代码如何书写
注:控制器的基础结构代码,不需要自己手动书写,可以通过#php artisan make:controller 控制器名+Controller
命令自动生成,如下图所示:
内部代码结构如下图所示:
控制器路由
如何使用路由规则来调用控制器下的方法,而不走回调函数。
方法:路由设置格式基本相同,只是将匿名函数换成了控制器类名@方法名
Route::get('/home/test/test1','TestController@test');
举例:
1. 在控制器(TestController)中创建test
方法,用于输出phpinfo()
信息.
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Test2Controller extends Controller
{
//输出PHPinfo信息
public function test(){
phpinfo();
}
}
2. 编写路由规则:
Route::get('/home/test','TestController@test');
控制器实现分目录管理
1.先建立相关区分目录
2.使用命令创建控制器文件(注意:在创建的时候要指定控制器存放目录)
3.编写前后台的index方法的测试代码
- 后台
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
//
public function index(){
echo '这是Admin下的index';
}
}
- 前台
namespace App\Http\Controllers\Home;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
//
public function index(){
echo '这是Home下的index';
}
}
4.编写路由规则(注意要在控制器前面加上平台,因为默认目录是Controller)
Route::get('home/index/index','Admin\IndexController@index');
Route::get('/home/index/index','Home\IndexController@index');