CakePHP - Html-> ссылка - зачем использовать контроллер => и действие => вместо просто контроллер / действие - PullRequest
4 голосов
/ 30 марта 2011

Почему это:

echo $this->Html->link('Add a User', array('controller'=>'users', 'action'=>'add'));

Вместо этого:

echo $this->Html->link('Add a User', 'users/add');

Ответы [ 2 ]

8 голосов
/ 30 марта 2011

Второй пример всегда генерирует URL 'users / add'.Первый обеспечивает возможность использования обратной маршрутизации для формирования URL-адреса на заказ, как это определено правилами в вашем файле rout.php.

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

0 голосов
/ 07 апреля 2015

Для дальнейшего использования ... используйте первый, потому что второй относительно местоположения. Например, если вы находитесь на www.example.com/post, последний URL будет:

для # 1 www.example.com/post/users/add для # 2 www.example.com/users/add

Извините за плохой английский: P

...