Heim  >  Artikel  >  PHP-Framework  >  Der Unterschied zwischen Laravel- und Thinkphp-Routing

Der Unterschied zwischen Laravel- und Thinkphp-Routing

(*-*)浩
(*-*)浩Original
2019-10-30 10:32:283644Durchsuche

Der Unterschied zwischen Laravel- und Thinkphp-Routing

laravel路由有如下这些功能:

基本路由路由重定向 视图路由路由参数必填参数 可选参数 正则表达式约束命名路由路由组中间件 命名空间 子域名路由 路由前缀 路由命名前缀路由模型绑定隐式绑定 显式绑定频率限制表单方法伪造访问当前路由  (推荐学习:laravel开发

所有 Laravel 路由都定义在位于 routes 目录下的路由文件中,这些文件通过框架自动加载。

routes/web.php 文件定义了 web 界面的路由,这些路由被分配了 web 中间件组,从而可以提供 session 和 csrf 防护等功能。routes/api.php 中的路由是无状态的,被分配了 api 中间件组。

对大多数应用而言,都是从 routes/web.php 文件开始定义路由。

直接现学现用TP5的路由功能。基本已经实现了网站的伪静态访问。

// 域名绑定到index网站模块
Route::domain('mydomain.com, function () {
    //首页
    Route::rule('/','index/Index/index')->ext('html');
    //产品列表
    Route::rule(&#39;/products-list/<catid>/<c?>&#39;,&#39;index/Index/lists&#39;)
        ->pattern([&#39;c&#39; => &#39;\w+&#39;, &#39;catid&#39; => &#39;\d+&#39;])
        ->ext(&#39;html&#39;)
        ->name(&#39;product_lists&#39;);
    //产品详情
    Route::rule(&#39;/item/<id>/<i?>&#39;,&#39;index/Index/details&#39;)
        ->pattern([&#39;i&#39; => &#39;\w+&#39;, &#39;id&#39; => &#39;\d+&#39;])
        ->ext(&#39;html&#39;)
        ->name(&#39;product_details&#39;);
    //产品搜索
    Route::rule(&#39;/search/<q?>-<catid?>&#39;,&#39;index/Index/search&#39;,&#39;POST|GET&#39;)
        ->pattern([&#39;q&#39; => &#39;\w+&#39;, &#39;catid&#39; => &#39;\d+&#39;])
        ->ext(&#39;html&#39;)
        ->name(&#39;site_search&#39;);
    //网站页面
    Route::rule(&#39;/<p?>&#39;,&#39;index/Index/pages&#39;)
        ->pattern([&#39;p&#39; => &#39;\w+&#39;])
        ->ext(&#39;html&#39;)
        ->name(&#39;site_pages&#39;); 
    //不存在
    Route::miss(&#39;index/Index/index&#39;);
});

路由作用

1.根据实现定义的路由规则,检验URL请求,确定执行或者拒绝;

2.路由规则可自定义,隐藏了原URL地址,使访问地址,使访问更安全,地址更优雅。

laravel和thinkphp路由区别:

Laravel必须先定义,再使用,路由文件为routes.php;TP在配置文件中开启路由后,路由格式是:"路由表达式" => "路由地址和参数"(使用路由的前提是URL支持phthinfo并且开启路由),路由可以使URL更符合SEO。

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Laravel- und Thinkphp-Routing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn