m('anno', new AnnoPath('param1:*/const/param2:*')); $ai->m('holeradio', new AnnoPath ('param1:#^[a-z3-9]+$#/holeradio/params+:#^[1-9]?[0-9]$#')); } #[Inject] private ArticleDao $articleDao; public function anno($param1, $param2) { echo 'anno controller function David
'; echo 'param1: ' . $param1 . ' param2: ' . $param2; } public function holeradio($param1, array $params) { if (array_sum($params) > '999') { throw new BadRequestException('sum bigger than 999'); } echo 'param1: ' . $param1 . '
'; echo 'params: ' . implode(', ', $params) .' sum: '. array_sum($params); } public function index(ParamQuery $param1 = null, ParamQuery $param2 = null) { echo 'Index controller function David
'; echo 'param1: ' . $param1 . ' param2: ' . $param2; } public function doDetail(ParamPath $param1 = null, ParamPath $param2 = null, ParamPath $param3 = null) { echo 'doDetail controller function David
'; echo 'param1: ' . $param1 . ' param2: ' . $param2 . ' param3: ' . $param3; } public function doAdvancedDetail(ParamQuery $param1 = null, ParamQuery $param2 = null, ParamQuery $param3 = null) { echo 'doAdvancedDetail controller function David
'; echo 'param1: ' . $param1 . ' param2: ' . $param2 . ' param3: ' . $param3; } public function doHallo(ParamPath $test3 = null, ParamQuery $param1 = null, ParamQuery $param2 = null) { echo 'doHallo controller function David
'; if ($test3 !== null) { if ($test3?->toString() !== 'test3') { throw new PageNotFoundException('not test3'); } echo 'ParamPath = '. $test3. '
'; } echo 'param1: ' . $param1 . ' param2: ' . $param2; } #[Inject] private TestModel $testModel; public function doHuii(DavidDelegateController $davidDelegateController, $param, array $delegateParams = null) { echo 'Test 1: ' . $this->testModel->getTest() . '
'; $this->delegate($davidDelegateController, 2); } public function doHoi(DavidDelegateController $davidDelegateController, array $delegateParams = null) { echo 'Test 1: ' . $this->testModel->getTest() . '
'; $this->testModel->setTest('value ' . uniqid()); $this->delegate($davidDelegateController); } function getDoArticle(int $articleId): void { echo 'hallo'; } } class DavidDelegateController extends ControllerAdapter { public function doBaz(TestModel $testModel, $param = null) { echo 'Test 2: ' . $testModel->getTest(). '
'; echo 'param: ' . $param; } public function index(array $params = null) { echo 'delegate is cool'; if($params !== null) { echo '
' . 'params: ' . implode(', ', $params); } } }