Laravel 5.1 - 多个URI是否可能?

时间:2015-11-17 19:18:24

标签: php laravel laravel-5 laravel-5.1 laravel-routing

我想做的是类似的事情:

BufferedImage bi = ImageIO.read( imageFile );
byte[] pixels = ((DataBufferByte)bi.getRaster().getDataBuffer()).getData() ;

Laravel是否支持此功能?谷歌让我对这个问题感到失望。

3 个答案:

答案 0 :(得分:4)

您可以将它们指向控制器上的相同功能:

 JSONArray mapatest = mapObject.getJSONArray("map");
        String[][] innerArray = null;

        for(int t = 0; t < mapatest.getCount(); t++){
            JSONArray innerArrayObj = mapatest.getJSONArray(t);
            innerArray[t] = new String[innerArrayObj.getCount());

            for(int k = 0; k < innerArrayObj.getCount(); t++){

                innerArray[t][k] = innerArrayObj.getString(k);

            }
        }

答案 1 :(得分:2)

您可以使用支持正则表达式的路由模式。关于这一点的好处是,他们使用的URL现在也可以作为参数使用:

Route::pattern('name', 'uri1|uri2');
Route::get('{name}', function($name) {
    // do something with $name
});

如果您希望正则表达式模式仅适用于此路由而不是全局,您也可以这样写:

Route::get('{name}', function ($name) { })
    ->where(['name' => 'uri1|uri2']);

另一个例子;最好知道你的实际URI是什么,以便我可以提出一个真正的建议:

Route::pattern('name', 'uri[0-9]+');
Route::get('{name}', function() { });

请注意你的正则表达式模式不是太广泛。

答案 2 :(得分:0)

请记住,带有路由的.php仍然是PHP脚本:

foreach ([
             'the_first_uri',
             'another_address',
         ]
         as $route) {
    /*
     * Each route will call the same controller/action
     */
    Route::get($route, 'YourController@anAction');
}

可以说,它不是很“可读”,但是有一些优点:

  • DRY:不会重复添加新路线的片段;想想一种情况,当您只想重命名动作或控制器
  • VCS:使用枚举可能值而不是正则表达式的数组可以使提交和存储库历史记录更加整洁,即,如果添加/更改/删除路由,则只需添加/修改/删除相应的行

但是,我相信在大多数情况下,这样的foreach会有点夸张;)