Привет, ребята, у меня есть место для беспокойства, надеюсь, кто-то может пролить некоторый свет на это.
По какой-то странной причине мой маршрут подходит, говоря, что действия не существует, если я не заменю корпус верблюда на все нижние регистрыдля этого имени действий, то это работает нормально.но тогда это идет вразрез с соглашениями об именах!и я тоже не хочу, чтобы мой код был неаккуратным.
Вот мой маршрут:
$FrontController = Zend_Controller_Front::getInstance();
$Router = $FrontController->getRouter();
$Router->addRoute("artistsave",
new Zend_Controller_Router_Route
(
"artist/save-artist",
array(
"controller"=>"artist",
"action" =>"saveArtist"
)
)
);
Теперь мне нужно посмотреть в ArtistController действие saveArtistsAction, но это не таквыдает эту ошибку:
К сожалению, вы столкнулись с приведенной ниже ошибкой.Действие «saveartist» не существует и не было перехвачено в __call ()
Таким образом, похоже, что я удалил мой верблюжий корпус в маршрутизаторе, так как a для Artist теперь в нижнем регистре в ошибке, и еслия переименую свое действие, чтобы оно соответствовало этому, оно работает!
Есть идеи, почему оно не ищет saveArtist?
Я понимаю, что могу просто переименовать его, чтобы сохранить, поскольку оно является частью объекта Artist.но теперь я нашел это, я хотел бы понять, прежде чем отклеиться в другой раз в будущем.
Заранее благодарен за любую помощь:)
Не сразу, как я отправил этоЯ понял это, но я чувствую, что другие могут упасть на ту же ошибку, поэтому лучше оставить это здесь и сообщить решение!
В маршрутизаторе все еще находится в формате URL, я должен был использовать дефисы, а не верблюжьитогда структура решает это.так вот мое исправление / решение:
$Router->addRoute("artistsave",
new Zend_Controller_Router_Route
(
"artist/save-artist",
array(
"controller"=>"artist",
"action" =>"save-artist"
)
)
);
Удачного кодирования:)