国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman的URL問(wèn)題

mlyykk

web的模板頁(yè)面里的url,如果路由做了改變,所有頁(yè)面都要手動(dòng)去修改嗎?
有沒(méi)有辦法路由做了改變,頁(yè)面上的相應(yīng)URL也隨之改變.

還有,有辦法讓用戶(hù)只能通過(guò)設(shè)置的路由規(guī)則訪(fǎng)問(wèn),無(wú)法原始路徑嗎?

4175 1 2
1個(gè)回答

walkor 打賞

更新webman-framework 到 1.0.10 或者后續(xù)更高版本。
composer require workerman/webman-framework ^1.0.10
路由定義時(shí)利用name()方法給路由設(shè)置個(gè)名字。
例如config/route.php

Route::any('/blog/{id}', 'app\controller\Blog@read')->name('blog');

然后自己封裝個(gè)函數(shù)app\functions.php。

function _url_($name, $parameters = [])
{
    $route = Route::getByName($name);
    if (!$route) {
        return '';
    }
    return $route->url($parameters);
}

在模板里調(diào)用函數(shù)

_url_('blog', ['id' => 100]);

就可以得到實(shí)際的路由url了,結(jié)果為 /blog/100。

如果不想讓訪(fǎng)問(wèn)原始路徑,就設(shè)置下對(duì)應(yīng)控制器的路由返回404,例如下面的是不允許訪(fǎng)問(wèn)blog控制器。

Route::any('/blog[/{action}]', function () {return response('404 Not Found', 404);});
  • mlyykk 2020-12-07

    真迅速, 昨晚我看還是1.0.09呢.. 另外好像多應(yīng)用路由有個(gè)BUG, 稍等.我給你貼一下.

  • mlyykk 2020-12-07

    是這樣的, 應(yīng)用劃分了 home 和admin 兩個(gè)應(yīng)用. 路由里寫(xiě)的是:
    //home
    Route::any('/', 'app\home\controller\Index@index');
    Route::any('/login', 'app\home\controller\User@login');

    //admin
    Route::any('admin/','app\admin\controller\Index@index');
    Route::any('admin/login','app\admin\controller\Index@login');

    然后在訪(fǎng)問(wèn)的時(shí)候, home的訪(fǎng)問(wèn)都正常. admin的 只有 admin/是OK的, admin/login 訪(fǎng)問(wèn)是 404.

  • mlyykk 2020-12-07

    不使用定義的路由訪(fǎng)問(wèn)就是OK的, 麻煩你測(cè)試下看看.

  • walkor 2020-12-07

    不是bug,是你寫(xiě)錯(cuò)了,應(yīng)該是
    Route::any('/admin','app\admin\controller\Index@index');
    Route::any('/admin/login','app\admin\controller\Index@login');

    admin前面要有/

  • mlyykk 2020-12-07

    @1:謝謝,確實(shí)是我寫(xiě)錯(cuò)了..

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??