2-laravel-路由配置

发布于:2024-10-13 ⋅ 阅读:(7) ⋅ 点赞:(0)

定义控制器

打开laravel 工程
在这里插入图片描述
在这里插入图片描述
建立一个 Demo 名字的控制器去集成 模板控制器
在这里插入图片描述
安装两个插件
在这里插入图片描述
在这里插入图片描述

设计控制器

<?php

namespace App\Http\Controllers;
// 命名空间  要位于 有效的 php  代码  第一行
//   自定义 的类名  推荐  与   文件名  一致
class Demo extends Controller{
    // 自定义函数
    public function test(){
        dump("配置第一个路由");
    }
    
}





设置路由

<?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

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']);




基本路由

// 基本路由   :  B   ---》》   路由   》》》  资源  
// 类似于  Java 的  匿名内部类 
//  路径    资源(特殊:  直接就是一个  匿名函数)
Route::get('d5',function(){
    return "基本路由";

}


);

在这里插入图片描述

视图路由

建立视图路由

// 视图路由   B   ---  路由   --   对应的  视图  文件
// Route::view("d6 路径","test   我们的 视图 的 名字
// ");   welcome.blade.php   添加 提供的  视图 案例 
//     welcome  视图名字    .blade.php  后缀
Route::view("d6","test");

创建视图前,没有对应的视图
在这里插入图片描述

建立视图文件

在这里插入图片描述
test.blade.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>

在这里插入图片描述
浏览器 — 路由 – 拿到视图名字 ---- 根据 视图 名字 找 视图文件

控制器视图

浏览器 — 路由 – 控制器类 —方法 — 拿到视图名字 ---- 根据 视图 名字 找 视图文件

路由

Route::get("d7",[Demo::class,"index"]);

创建视图二级目录

目录名字 建议 与 控制器 名字 一样

在这里插入图片描述

控制器

告诉系统 ,访问 哪个视图

<?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"
        
    
    );
    }

    
}