Penghalaan nama domain
. peraturan penghalaan definisi penghalaan nama domain. Kaedah penghalaan lain boleh digunakan dalam penutupan, termasuk pengumpulan laluan, tetapi penghalaan nama domain tidak boleh disertakan
Menyokong menetapkan peraturan penghalaan yang sama untuk berbilang nama domain pada masa yang sama:
Route::domain('blog', function () { // 动态注册域名的路由规则 Route::rule('new/:id', 'news/read'); Route::rule(':user', 'user/info'); });
Jika anda perlu menetapkan laluan merentas semua nama domain, anda boleh Untuk melaksanakannya, anda boleh menggunakan kaedah crossDomainRule untuk penghalaan kumpulan atau laluan tertentu:
Route::domain(['blog', 'admin'], function () { // 动态注册域名的路由规则 Route::rule('new/:id', 'news/read'); Route::rule(':user', 'user/info'); });Pengikatan nama domainTerikat kepada kelas pengawalBrreee
Brreee ruang nama
Route::group( function () { // 动态注册域名的路由规则 Route::rule('new/:id', 'news/read'); Route::rule(':user', 'user/info'); })->crossDomainRule();
Terikat pada Kelas // blog子域名绑定控制器
Route::domain('blog', '@blog');
boleh menyokong peraturan penggunaan nama domain pan, contohnya:
// blog子域名绑定命名空间 Route::domain('blog', ':\app\blog\controller');Penerimaan aplikasi yang berikut akan mengakses terus URL penerima
semasa boleh diperolehi terus melalui Request::panDomain() Nilai nama domain generik. Menyokong penggunaan nama pan-domain peringkat ketiga, contohnya:
// blog子域名绑定到类 Route::domain('blog', '\app\blog\controller\Article');Ia juga menyokong penghantaran terus nilai nama pan-domain sebagai parameter tambahan
// 绑定泛二级域名域名到book应用 Route::domain('*', 'book');Anda boleh mendapatkan nilai nama pan-domain semasa melalui Request::param('name') Pada masa ini, hanya penempatan nama domain peringkat kedua dan peringkat ketiga disokong.
Ikat pada objek Respons
Anda boleh mengikat terus nama domain ke objek Respons, contohnya:
http://hello.thinkphp.cn http://quickstart.thinkphp.cn
Jika nama domain perlu mentakrifkan peraturan penghalaan pada masa yang sama dan melaksanakan operasi mengikat untuk yang lain situasi, anda boleh berbuat demikian dalam penutupan Operasi pengikatan dilakukan di dalam, contohnya:
// 绑定泛三级域名到user应用 Route::domain('*.user', 'user');
mentakrifkan peraturan penghalaan/:id baharu di bawah nama domain blog, menunjuk ke aplikasi indeks, manakala laluan lain terikat pada aplikasi blog .
Masukkan parameter tambahan
Anda boleh memasukkan parameter tersembunyi tambahan selepas pengikatan nama domain atau takrifan penghalaan, contohnya:
// 绑定泛三级域名到user应用 Route::domain('*.user', 'user?name=*');
Penghalaan nama domain di atas melepasi seragam dalam parameter app_id dan nilai parameter ini boleh dihantar melalui Permintaan Diperolehi daripada kaedah param kelas.
Anda juga boleh terus memasukkan parameter tambahan selepas nama domain mengikat// 绑定域名到Response对象
Route::domain('test', response()->code(404));
Parameter penghalaan
Penghalaan nama domain itu sendiri juga merupakan kumpulan penghalaan, jadi anda boleh menentukan parameter penghalaan awam seperti kumpulan penghalaan, contohnya:
Route::domain('blog', function () { // 动态注册域名的路由规则 Route::rule('new/:id', 'index/news/read'); })->bind('blog');