Controller
からConcrete5(php)に拡張されたクラスを任意のパラメータで作成しようとしています。私はConcrete5とSymfonyの両方のドキュメントを精査しようとしましたが、答えがそこにないか、PHPでうまくいけば大丈夫です。だから、私はこのプロセスを通して私を手に入れるための少しの手持ちを探しています。Concrete5:Route :: registerのオプションパラメータ
私のアプリケーションの\ブートストラップの尾エラーを生成end
を超えたパラメータを持つ任意のURIで\ app.php
Route::register(
'/plotdata/{start}/{end}' //1 below
, 'Application\Controller\SinglePage\getplotdata::getData' //2
, NULL //3
, array() //4
, array('var1' <= NULL, 'var2' <= NULL, 'var3' <= NULL, 'var4' <= NULL) //5
//1 rtPath | path - start and end are required params /{var1}/{var2}/{var3}/{var4} are optional,
//2 callback
//3 rtHandle
//4 requirements = array() see e.g. line below
// array('start' => '[0-9]{4}(-[0-9]{2}){2} [ 0-2][0-9](:[0-5][0-9]){2}(.[0-9]{3})?'
//5 options | additionalAttributes
);
結果。例えば
plotdata/2015-02-01 00%3A00%3A00/2016-02-09 23%3A59%3A00/blah
は404エラーを生成します。適切なディレクトリにgetplotdata.php
が存在し、これらの行が頭の近くにあると仮定して、末尾に/blah
(ただし、$var1=blah
は設定されていません)を終了するとロードされます。
namespace Application\Controller\SinglePage;
class getplotdata extends Controller {
(最初のブロック内の)行 "1" が同じ(5を含む)他のラインを残し
'/plotdata/{start}/{end}/{var1}/{var2}/{var3}/{var4}'
を読み取るように変更された場合、Iはそれぞれをパラメータ化する必要があります。例えばplotdata/2015-02-01 00%3A00%3A00/2016-02-09 23%3A59%3A00/blah
もplotdata/2015-02-01 00%3A00%3A00/2016-02-09 23%3A59%3A00
仕事、
でもないが、そう
をplotdata/2015-02-01 00%3A00%3A00/2016-02-09 23%3A59%3A00/1/2/3/4
し、どのように私は([symfonyのから$デフォルトを暴露することによって?]デフォルト値の有無にかかわらず)、オプションのパラメータを指定するか、またはそこにありますConcrete5に「オーバーロードされた」クラス定義を生成する方法はありますか?私は何かのようにしますか
$bob = Route::register(
'/plotdata/{start}/{end}'
, 'Application\Controller\SinglePage\getplotdata::getData'
); //end $bob
$bob->addDefaults(array('var1' <= NULL, 'var2' <= NULL, 'var3' <= NULL, 'var4' <= NULL));
[c5.orgポスト](https://でWWWをあなたは行って、それへの参照を取得することができます.comcrete5.org/community/forums/customizing_c5/concrete5-optional-parameters-for-routeregister /) – mpag