Alamat akses penghalaan
Penghalaan ke pengawal/operasi
Ini ialah kaedah penghalaan yang paling biasa digunakan yang memenuhi syarat dihalakan kepada pengawal dan operasi yang berkaitan, dan kemudian sistem menjadualkan dan melaksanakan operasi yang berkaitan format ialah:
Pengawal/Operasi
Peraturan penghuraian adalah untuk memulakan penghuraian daripada operasi, dan kemudian menghuraikan pengawal Contohnya:
// 路由到blog控制器 Route::get('blog/:id','Blog/read');
Kelas blog ditakrifkan seperti berikut:
<?php namespace app\index\controller; class Blog { public function read($id) { return 'read:' . $id; } }
Pengawal berbilang peringkat disokong. dalam alamat penghalaan, gunakan Kaedah berikut untuk menetapkan:
Route::get('blog/:id','group.Blog/read');
bermaksud penghalaan ke kelas pengawal berikut,
index/controller/group/Blog
juga boleh menyokong penghalaan ke aplikasi dinamik, pengawal atau operasi, contohnya:
// action变量的值作为操作方法传入 Route::get(':action/blog/:id', 'Blog/:action');
penghalaan ke kaedah kelas
Penghalaan Mod ini boleh menyokong pelaksanaan kaedah mana-mana kelas, dan tidak terhad kepada pelaksanaan kaedah pengendalian pengawal.
Format alamat penghalaan ialah (kaedah dinamik):
nama kelas lengkap@nama kaedah
atau (kaedah statik)
nama kelas lengkap::nama kaedah
Sebagai contoh,
kaedah kelas appindexserviceBlog.
Ia juga menyokong pelaksanaan kaedah statik tertentu, contohnya:
Route::get('blog/:id','\app\index\service\Blog@read');
Ubah hala
Anda boleh terus menggunakan kaedah ubah hala untuk mendaftarkan laluan ubah hala
Route::get('blog/:id','\app\index\service\Blog::read');
Laluan ke templat
Laluan ke templat
secara langsung memberikan output templat.
Route::redirect('blog/:id', 'http://blog.thinkphp.cn/read/:id', 302);
bermakna laluan ini akan memaparkan output fail templat view/index/hello.html di bawah aplikasi semasa.
Pembolehubah param permintaan semasa boleh dikeluarkan secara langsung dalam fail templat Jika anda perlu menambah pembolehubah templat tambahan, anda boleh menggunakan:
// 路由到模板文件 Route::view('hello/:name', 'index/hello');
Pembolehubah nama dan bandar boleh dikeluarkan dalam templat. .
Kami boleh menggunakan penutupan untuk menentukan beberapa laluan dengan keperluan khas tanpa melaksanakan kaedah pengendalian pengawal, contohnya:
Route::view('hello/:name', 'index/hello', ['city'=>'shanghai']);
Parameter passing
Sokong parameter lulus apabila
Hello,{$name}--{$city}!ditakrifkan apabila penutupan ditakrifkan Nama pembolehubah dinamik yang ditakrifkan dalam penghalaan peraturan ialah nama parameter dalam fungsi penutupan, tanpa susunan tertentu.
Jadi, jika alamat URL yang kami lawati ialah:
Route::get('hello/:name', response() ->data('Hello,' . $name) ->code(200) ->contentType('text/plain'));
, output penyemak imbas ialah:
Hello, thinkphp
Dependency Injection