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);
}
}
}