CakePHP — Html-›ссылка — зачем использовать controller=› и action=› вместо просто controller/action

Почему?

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

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

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

person Dave    schedule 30.03.2011    source источник


Ответы (2)


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

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

person thesunneversets    schedule 30.03.2011

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

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

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

person aurelioth    schedule 07.04.2015