この記事では、laravel に関する関連知識を提供します。主に、ルーティング グループ、コントローラーへのジャンプ、ポスト ルーティング、Ajax ルーティングやその他の関連コンテンツなど、ルーティングとコントローラーに関連する問題を紹介します。以下をご覧ください。皆さんのお役に立てれば幸いです。
[関連する推奨事項: laravel ビデオチュートリアル]
laravel アクセス パスは:
1) ルーティング - コントローラー - ページ/Output
2) ルーティング — 匿名関数 — ページ/出力
1. 現在のルートをすべて表示
現在のプロジェクトのルート ディレクトリを入力し、cmd
を実行するか、IDE を使用します。ショートカット キー ALT F12
php artisan route:list
を使用してターミナルを自動化します。 2. さまざまなルート
routes/web.php ファイル
##1. ビューにジャンプします私のドメイン名は www.la.com です。実際の状況に応じて選択してください
Route::get('/', function () {
return view('welcome');});
View ディレクトリの場所: resource/views 。HTML コンテンツも保存されます。 view() はヘルパー関数です。view(‘welcome’) は、Laravel を初めて起動したときに表示されるウェルカム ページである welcome.blade.php ビューにジャンプすることを意味します。
Route::get('ok', function () {
echo "hello world";});
1)単一パラメータdump()
は、laravel の補助関数であり、データを出力するために使用されます
Route::get('show/{a}', function ($a) {
dump($a);});
ブラウザは http://www.la.com/show/1 を実行します。 結果: "1"
注: これは文字列です
Route::get('show/{a}/{b}', function ($a,$b) {
echo $a.','.$b;});
実行中のブラウザ: http://www.la.com/show/1/hello 結果: 1,hello
Route::get('user/{name}/{age}', function ($name,$age) {
echo $name.' '.$age; //直接输出
})->where('age','\d+')->where('name','[a-zA-Z]+');
上記の制限は、age パラメーターは数字のみを受け入れ、name パラメーターは大文字と小文字のみを受け入れることを意味します。 条件が満たされない場合、結果は次のようになります: 404 NOT FOUNDブラウザで実行: http://www.la.com/user/zhangsan/18 結果: zhangshan 18
Route::group(array('prefix'=>'user'),function(){
Route::get('/index', function () {
echo 'index';
});
Route::get('/add', function () {
echo 'add';
});});
実行中のブラウザ:
- http://www.la.com/user/index
- http://www.la.com/user/ add
- index
- add
Route::prefix('user')->group(function(){
Route::get('/index', function () {
echo 'index';
});
Route::get('/add', function () {
echo 'add';
});});
6. コントローラーにジャンプ1) コントローラーを作成し、メソッドを記述しますプロジェクトのルートディレクトリで実行するには
php artisan make:controller TestController
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class TestController extends Controller{ public function hello(){ echo "TestController的hello方法"; }}2) routingを記述しますconfig/web の先頭に
use App\Http\Controllers\TestController;を追加します。 php を作成し、 routing
Route::get('/hello',[TestController::class,'hello']);//跳到控制器的方法実行中のブラウザ: http://www.la.com/hello
結果:
in laravel csrf 攻撃を防ぐためには、すべての投稿フォームに @csrf という文を記述する必要があります。詳細については、クリックして私の他の記事を読むことができます
- まず、
- views/user Folderを入力します
Add a
add.blade.phpView
nbsp;html> <title>测试POST提交</title>
- Add Route
-
use Illuminate\Http\Request;Route::prefix('user')->group(function(){ Route::get('/add', function () { return view('user.add'); }); Route::post('/insert', function (Request $request) { dump($request->all()); echo "post路由验证成功"; });});
view('user.add') は、resources/views ディレクトリのユーザー フォルダーにビューを追加することを意味します。 (resources/view がデフォルトのパスです)
$request->all()すべてのリクエストパラメータを取得
dump()データを印刷
- Test
- まず、http://www.la.com/user/insert を直接入力すると確実に機能せず、エラーが報告されます (GET メソッドはこのルートではサポートされていません) . サポートされているメソッド: POST .)。
Postman が http://www.la.com/user/insert と入力すると投稿の送信が失敗し、419 が返される | ページの有効期限が切れました
#8.Ajax ルーティング
headers: {
‘X-CSRF-TOKEN’: $(‘meta[name="_token
"]’).attr(‘content’)
},nbsp;html> <meta> <title>CSRF</title> <meta><script></script><script> $.ajax({ url: "http://www.la.com/index",//本页面 type: "POST", data: { name:"名字" }, headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }, success: function (data) { console.log("200"); } });</script>9.带别名的路由
别名路由就是给某一个路由起一个别名,
直接使用使用原名可以访问路由,但直接使用别名不能访问这个路由,同时在其他页面调用别名可以访问这个路由。
Route::get('user/profile',function(){ return 'my url:'.route('profile');})->name('profile'); //创建一个路由 user/profile,这个路由的作用是返回路由 profile 的 RUL 地址,并给这个路由起一个别名 profile Route::get('redirect',function(){ return redirect()->route('profile'); }); //创建一个名为 redirect 的路由,这个路由的作用是跳转到路由 profile。route() 生成完整的URL
redirect()->route(‘profile’); //重定向命名路由在浏览器中运行 www.la.com/user/profile
结果:
在浏览器中运行www.la.com/profile
结果:404 NOT FOUND在浏览器中运行www.la.com/redirect
结果:10.命名空间路由
之前写的控制器 Controller 都直接写在 Http\Controllers 文件夹之中,但实际情况是控制器也会分类,比如与管理员相关的操作会在 Controllers 中,再建一个文件夹 Admin,然 后把所有关于管理员的控制器类都放在这个文件夹中。如果这样的话,就要添加名称空间。
- 创建控制器
方法一:使用phpartisanphp artisan make:controller Admin\IndexController使用这种方法创建的控制器,自动加载名称空间,如下图所示
观察与之前创建控制器php artisan make:controller TestController
的区别
方法二:复制粘贴其他类
在Controllers文件夹下创建Admin文件夹,复制之前创建的控制器TestController,照着上图修改。命名空间 namespace App\Http\Controllers\Admin;
添加类引用 use App\Http\Controllers\Controller;
- 控制器添加 index方法
public function index(){ return "Admin文件夹下的IndexController中的index方法";}
- 写路由
web.php文件use App\Http\Controllers\Admin\IndexController;Route::group(['namespace'=>'Admin'],function(){ Route::get('admin',[IndexController::class,'index']);//管理员的主页 Route::get('admin/user',[IndexController::class,'index']);//管理员用户相关 Route::get('admin/goods',[IndexController::class,'index']);//商品相关});浏览器输地址
http://www.la.com/admin
http://www.la.com/admin/user
http://www.la.com/admin/goods
结果都是一样【相关推荐:laravel视频教程】
以上がLaravel8のルーティングとコントローラーについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

在laravel中,fill方法是一个给Eloquent实例赋值属性的方法,该方法可以理解为用于过滤前端传输过来的与模型中对应的多余字段;当调用该方法时,会先去检测当前Model的状态,根据fillable数组的设置,Model会处于不同的状态。

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
