Laravel 514 + Bootstrap 334 笔记二:Laravel 路由
1 路由机制
MVC中路由是一个非常重要的功能,其作用是:
A.根据用户访问(URL)匹配传入的请求及请求附带的参数;
B.调用请求映射Controller的Action方法,并把参数传入;
C.返回Action方法处理结果;
下图以简单的形式表示一个用户请求:
2 Laravel中的路由
在Laravel 5.1.4中,路由配置文件是 app/Http/routes.php。
2.1 直接返回字符串的路由
在原有的代码后面追加如下代码段:
Route::get('/hw', function () { return 'Hello World'; });
2.2 返回视图的路由
在上面的代码中再追加如下代码段:
Route::get('/home', function () { return view('home'); });
<h1 id="home">home</h1>

如果上例的代码中需要向视图页传递参数怎么办呢?修改我们的路由代码:
Route::get('/home', function () { return view('home', ['name' => '张三']); });
[<?php echo $name; ?>],您好!
如果视图太多,一般是按模块甚至按功能存放的,在resources/views目录下依次新建目录:public/demo,然后把home.php移到该目录中。
修改上例中的路由代码为:
Route::get('/home', function () { return view('public.demo.home', ['name' => '张三']); });
2.3 路由参数
在前文已经说过,路由可以匹配出用户的请求参数,那如何匹配呢?在上例的路由文件中追加代码段:
Route::get('user/{name}', function($name) { return '用户姓名:'.$name; });
那如果是两个参数怎么办呢?修改路由代码:
Route::get('user/{name}/{age}', function($name,$age) { return '用户姓名:'.$name.',年龄:'.$age; });
假如age参数不是必须的的呢?再次修改路由代码:
Route::get('user/{name}/{age?}', function($name,$age=null) { return '用户姓名:'.$name.',年龄:'.$age; });
2.4 路由参数的约束
在正常情况下,用户访问的一些参数是有一定的规则,比如读取用户信息时的用户ID可能是数字,修改新闻信息时的新闻ID可能是GUID等等。
修改routes.php文件,追加以下代码:
Route::get('new/{id}', function($id) { return '新闻ID:'.$id; })->where('id', '[0-9]+');
可访问 http://localhost:801/new/abc 时则提供页面不存在:
相应的,当同时对多个参数限制时则需要使用数组,修改上例的路由代码:
Route::get('new/{id}/{title}', function($id,$title) { return '新闻ID:'.$id.',新闻标题:'.$title; })->where(['id' => '[0-9]+', 'title' => '[a-z]+']);
另外,我们可以配置全局的限制条件,打开文件:app/Providers/RouteServiceProviders.php,修改boot方法如下:
public function boot(Router $router) { // $router->pattern('id', '[0-9]+'); parent::boot($router); }
修改上例中的路由代码为:
Route::get('new/{id}', function($id) { return '新闻ID:'.$id; });
2.5 获取路由参数
在routes.php中可以获取路由参数,以此来做其他的操作,修改上例的路由代码:
Route::get('new/{id}', function(Request $request, $id) { if ($request->route('id') == '2') { return '新闻ID是2'; }else{ return '新闻ID不是2,值是:'.$id; } });
在routes.php中
use Illuminate\Http\Request;
打开浏览器,分别访问 http://localhost:801/new/2 和 http://localhost:801/new/3 即可看到不同的页面效果。
路由还有很多复杂的功能,有待研究。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了Laravel 514 + Bootstrap 334 笔记二:Laravel 路由,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Sebab mengapa mysql tidak dapat menyambung ke localhost adalah kerana perkhidmatan mysql tidak dimulakan, port mysql telah diduduki, dan terdapat masalah dengan fail konfigurasi MySQL. Pengenalan terperinci: 1. Dalam sistem Windows, anda boleh membuka pengurus perkhidmatan dengan memasukkan "services.msc" pada prompt arahan, kemudian cari perkhidmatan mysql dan pastikan statusnya "Berjalan". Dalam sistem Linux, anda boleh menggunakan arahan "services.msc" untuk menyemak dan mengawal status perkhidmatan 2. Anda boleh menggunakan arahan terbuka dan sebagainya.

Penggunaan pulangan dalam bahasa C ialah: 1. Untuk fungsi yang jenis nilai pulangannya adalah batal, anda boleh menggunakan pernyataan pulangan untuk menamatkan pelaksanaan fungsi lebih awal 2. Untuk fungsi yang jenis nilai pulangannya tidak batal, fungsi bagi penyataan pulangan adalah untuk menamatkan pelaksanaan fungsi Hasilnya dikembalikan kepada pemanggil 3. Menamatkan pelaksanaan fungsi lebih awal, kita boleh menggunakan penyataan pulangan untuk menamatkan pelaksanaan fungsi lebih awal jika fungsi tidak mengembalikan nilai.

Fungsi bermaksud fungsi. Ia adalah blok kod yang boleh digunakan semula dengan fungsi tertentu Ia boleh menerima parameter input, melakukan operasi tertentu, dan mengembalikan hasil daripada blok yang boleh digunakan semula. kod untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Penyelesaian: 1. Semak status berjalan pelayan dan pastikan ia mendengar pada port yang betul 2. Cuba untuk melumpuhkan firewall atau perisian keselamatan buat sementara waktu, dan kemudian cuba untuk mengakses localhost semula; sistem pengendalian untuk memastikan localhost diselesaikan dengan betul ; 4. Cuba mulakan semula penyesuai rangkaian atau konfigurasi semula sambungan rangkaian 5. Cuba tukar port yang digunakan oleh pelayan tempatan, atau tutup program lain yang menduduki port yang sama; untuk menambah alamat IP dan nama domain yang sepadan secara manual dalam fail hos, dsb.

Kod sumber: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}akhirnya{x=3;}}}# Output Output kod di atas hanya boleh membuat kesimpulan: return dilaksanakan sebelum akhirnya. Mari kita lihat apa yang berlaku pada tahap bytecode. Yang berikut memintas sebahagian kod bait kaedah case1 dan membandingkan kod sumber untuk menganotasi maksud setiap arahan dalam

linux localhost bermaksud "nama hos komputer". Nama hos digunakan untuk mengenal pasti komputer bebas pada rangkaian; pengguna adalah root Log masuk ke mesin Linux sebagai pengguna.

Dalam artikel ini, kita akan belajar tentang fungsi enumerate() dan tujuan fungsi "enumerate()" dalam Python. Apakah fungsi enumerate()? Fungsi enumerate() Python menerima pengumpulan data sebagai parameter dan mengembalikan objek penghitungan. Objek penghitungan dikembalikan sebagai pasangan nilai kunci. Kuncinya ialah indeks yang sepadan dengan setiap item, dan nilainya ialah item. Syntax enumerate(iterable,start) Parameters iterable - Yang diluluskan dalam pengumpulan data boleh dikembalikan sebagai objek enumeration, dipanggil iterablestart - Seperti namanya, indeks permulaan objek enumeration ditakrifkan oleh permulaan. kalau kita abaikan

Penjelasan terperinci tentang peranan dan fungsi jadual MySQL.proc ialah sistem pengurusan pangkalan data relasi yang popular Apabila pembangun menggunakan MySQL, mereka sering melibatkan penciptaan dan pengurusan prosedur tersimpan (StoredProcedure). Jadual MySQL.proc ialah jadual sistem yang sangat penting Ia menyimpan maklumat yang berkaitan dengan semua prosedur tersimpan dalam pangkalan data, termasuk nama, definisi, parameter, dsb. prosedur tersimpan. Dalam artikel ini, kami akan menerangkan secara terperinci peranan dan kefungsian jadual MySQL.proc
