CakePHP - вызов функции компонента из представления - PullRequest
5 голосов
/ 10 августа 2010

Как мне вызвать функцию из компонента из представления?(файл ctp)
Это даже хорошая практика для этого?

Спасибо,
Tee

Ответы [ 4 ]

7 голосов
/ 10 августа 2010

Я предлагаю обернуть методы компонента в помощник, а затем использовать обычный маршрут для доступа к помощнику.

6 голосов
/ 10 августа 2010

Для большинства компонентов вы можете использовать что-то вроде:

App::import('Component', 'YourComponent');
$theComponent = new YourComponent();
$theComponent->yourMethod();

Однако компоненты предназначены для совместного использования функций, используемых контроллерами, поэтому обычно следует избегать вызова компонентов из представлений.

5 голосов
/ 20 декабря 2011

ВСЕ ВОЗМОЖНО!

Компонент:

    function initialize(&$controller){
        $this->controller =& $controller;
        $this->controller->set('YourComponent', new YourComponent());
    }

Вид:

<?php $YourComponent->doAction() ... ?>
0 голосов
/ 19 августа 2010

Мое мнение, что это не очень хорошая практика. Думайте о представлении как о чем-то, с чем дизайнеры будут работать. Вы хотите сохранить свой код в моделях и контроллерах, если это возможно. Если это имеет отношение к повторно используемому содержимому представления, рассмотрите возможность перемещения контроллера к элементу или помощнику, поскольку это то, для чего они предназначены.

Если вы предоставите более подробную информацию, мы можем более конкретно указать, как реализовать что-то, если у вас уже есть база кода, на которую мы можем ссылаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...