Динамическая подстановка имени метода

Lithium366

Новичок
Динамическая подстановка имени метода

Есть:
$this->Standscategory->findAll('ORDER BY name ASC'));
Надо что-то работающее типа:
$this->set('category', $this->{$this->name}->findAll('ORDER BY name ASC'));
где
$this->name = "Standscategory"
 

Lithium366

Новичок
$name = $this->name;
$this->set('category', $this->$name->findAll('ORDER BY name ASC'));

->>>>


Notice: Undefined property: StandscategoriesController::$Standscategories in Z:\home\artmedia\app\app_controller.php on line 27

-~{}~ 10.05.07 13:26:

Вопрос снят. Невнимательность моя.
"Standscategory" != "Standscategories"
 

Гравицапа

elbirret elcno
Lithium366
Слушай, а для чего тебе такая динамическая подстановка вообще понадобилась?
Просто интересно...
 

Lithium366

Новичок
Автор оригинала: leadaxe
ИСПОЛЬЗУТЕ вы подсветку кода. как это читать-то можно?
Чтобы использовать одну и ту же функцию для похожего функционала. В данном случае это обусловлено спецификой cakePHP,
 

Гравицапа

elbirret elcno
Чтобы использовать одну и ту же функцию для похожего функционала. В данном случае это обусловлено спецификой cakePHP,
Можно поподробее? И особенно про специфику CakePHP в данном случае..
 

Lithium366

Новичок
К примеру есть 2 каталога неограниченной вложенности категорий. данные храняться в разных таблицах. В cakePHP название таблицы должно соответствовать по умолчанию названию контроллера. А некоторые операции, одинаковые, нужно выполнять для обоих каталогов. Вот и приходится подставлять названия, чтобы не дублировать функции
 

Гравицапа

elbirret elcno
Lithium366
Мне кажется, возможно я сделал неправльные выводы по тому как ты объяснил, но у тебя что-то не так с архитектурой. Меня просто смущает
Вот и приходится подставлять названия, чтобы не дублировать функции
...

cakePHP название таблицы должно соответствовать по умолчанию названию контроллера.
Тебе никто не запрещает использовать какие ты хочешь название моделей, в том числе и ни как не связанные с названиями контоллеров.
 

Lithium366

Новичок
понятно. что не запрещает, тем не менее я считаю что грамотнее где возможно использовать сходные названия. Хотябы чтобы потом проще было понять что когда-то делал
 
Сверху