1

Phalcon のルーターに問題があります。コントローラーに、イーサが日付パラメーターを取るかどうかのアクションがあります。したがって、URL にアクセスすると: http://example.com/sl/slots/index/2017-06-27 すべて正常に動作します。しかし、http ://example.com/sl/slots/index にアクセスする と、次のエラーが表示されます。

DateTime::__construct(): 位置 0 (s) で時間文字列 (sl) を解析できませんでした: データベースにタイムゾーンが見つかりませんでした。

したがって、ルーターは実際には最初に「sl」をパラメーターとして受け取ります。

この種の URL のルーターは次のように設定されています。

$router->add(
    "/{language:[a-z]{2}}/:controller/:action",
    array(
        "controller" => 2,
        "action"     => 3
    )
);

ところで、インデックスなしでも同じことができます: http://example.com/sl/slots

ああ、私のスロット インデックス アクションは次のようになります。

public function indexAction($currentDate = false){ //code }

したがって、パラメーターなしでアクションを呼び出すと、$ currentDate は「sl」に設定されます

お手伝いありがとう

4

2 に答える 2