文章目录
定义控制器
打开laravel 工程
建立一个 Demo 名字的控制器去集成 模板控制器
安装两个插件
设计控制器
php
<?php
namespace App\Http\Controllers;
// 命名空间 要位于 有效的 php 代码 第一行
// 自定义 的类名 推荐 与 文件名 一致
class Demo extends Controller{
// 自定义函数
public function test(){
dump("配置第一个路由");
}
}
设置路由
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
// 配置第一个路由
Route::get('d1',[App\Http\Controllers\Demo::class,'test'] );
// 路径随便起名字 Demo 类的具体位置 要访问Demo的那个方法
// 浏览器发送 d1 路径,d1 匹配到 这个地方,然后 去 找
// d1 对应的 资源 [App\Http\Controllers\Demo::class,'test']
// 资源的位置 test
启动服务
小皮 -- 网站 -- 管理 --- 修改 --- 浏览
入口 : index.php
域名/index.php/ 路由 中自己设置 的 路径名字 ,我们 这里是 d1
路径 路由 没问题,问题出现在 服务器端,没有该路径 对应的资源
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
// 配置第一个路由 1.完整类名的方式
// Route::get('d1',[App\Http\Controllers\Demo::class,'test'] );
// Route::get("d1",[\App\Http\Controllers\Demo::class,"tes"]);
// 路径随便起名字 Demo 类的具体位置 要访问Demo的那个方法
// 浏览器发送 d1 路径,d1 匹配到 这个地方,然后 去 找
// d1 对应的 资源 [App\Http\Controllers\Demo::class,'test']
// 资源的位置 test
// Route::get("d2",[\App\Http\Controllers\Demo::class,"call"]);
// 2. 导包的方式
use App\Http\Controllers\Demo;
// 导入 某个包 下面 对应的类
// 以后,用到 该类 时,就不需要 完整类名
Route::get('d3',[Demo::class,'call']);
Route::get('d4',[Demo::class,'test']);
基本路由
php
// 基本路由 : B ---》》 路由 》》》 资源
// 类似于 Java 的 匿名内部类
// 路径 资源(特殊: 直接就是一个 匿名函数)
Route::get('d5',function(){
return "基本路由";
}
);
视图路由
建立视图路由
php
// 视图路由 B --- 路由 -- 对应的 视图 文件
// Route::view("d6 路径","test 我们的 视图 的 名字
// "); welcome.blade.php 添加 提供的 视图 案例
// welcome 视图名字 .blade.php 后缀
Route::view("d6","test");
创建视图前,没有对应的视图
建立视图文件
test.blade.php
php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>视图路由</title>
</head>
<body>
<div style="color: red;">
这是一个 视图路由测试
</div>
</body>
</html>
浏览器 --- 路由 -- 拿到视图名字 ---- 根据 视图 名字 找 视图文件
控制器视图
浏览器 --- 路由 -- 控制器类 ---方法 --- 拿到视图名字 ---- 根据 视图 名字 找 视图文件
路由
php
Route::get("d7",[Demo::class,"index"]);
创建视图二级目录
目录名字 建议 与 控制器 名字 一样
控制器
告诉系统 ,访问 哪个视图
php
<?php
namespace App\Http\Controllers;
// 命名空间 要位于 有效的 php 代码 第一行
// 自定义 的类名 推荐 与 文件名 一致
class Demo extends Controller{
// 自定义函数
public function test(){
dump("配置第一个路由");
}
// public function tes(){
// dump("配置第一个路由");
// }
public function call(){
echo "XXX 在 打电话。。。";
}
public function index(){
// 视图 views 根目录,开始
// 返回到 ---》 views 根目录 下面 的 demo 下面 的 list 视图
//
return view("demo/list"
);
}
}