Bu ZF tasarımı ile ilgisi var daha güvenliği ile ilgili daha az. Dediğin gibi, bir URL üzerinden çağrıldığında yöntemleri erişilebilir değil, ama bu Zend Framework isteklerini işler nasıl sadece kaynaklanmaktadır.
Alıntı reference guide:
En akışı Zend_Controller
oldukça basittir. Bir istek dönüş aramalar Zend_Controller_Router_Rewrite
göndermek için (yani denetleyici ve eylem) hangi denetleyicisi belirlemek için, hangi Zend_Controller_Front
tarafından alınır.
Zend_Controller_Router_Rewrite
URI isteği denetleyici ve eylem adları ayarlamak için parçalanır. Zend_Controller_Front
daha sonra gönderme döngüye girer. Bu istekte belirtilen denetleyicisi ve eyleme sevk (veya varsayılan kullanın), o isteğini geçirmeden, Zend_Controller_Dispatcher_Standard
çağırır.
Yöntem adları biçimlendirilmiş olsun Zend_Controller_Dispatcher_Abstract
a>:
/**
* Formats a string into an action name. This is used to take a raw
* action name, such as one that would be stored inside a Zend_Controller_Request_Abstract
* object, and reformat into a proper method name that would be found
* inside a class extending Zend_Controller_Action.
*
* @param string $unformatted
* @return string
*/
public function formatActionName($unformatted)
{
$formatted = $this->_formatName($unformatted, true);
return strtolower(substr($formatted, 0, 1)) . substr($formatted, 1) . 'Action';
}
Eylem eki kodlanmış, bu yüzden Dispatcher her ne olursa olsun, bir eylem yöntemi arayacaktır. Eğer /user/show/
istemek Yani, sen UserController::showAction()
, çünkü istek işlenir nasıl derim. Bu olsa bir güvenlik özelliğidir ya Görünürlük için bir yedek değil. showAction()
korumalı ve artık ya bir URL üzerinden erişebilir olun. Ya düzenli kurulumu ile onları yok ve eğer teknik olarak, size çok bir URI olmayan eylem yöntemlerini diyebiliriz. Kendi Dispatcher oluşturmak ve ZF kolayca eylem adlarını biçimlendirir nasıl değiştirebilir.
Eylem Ekinin hakkında güzel ne, bu denetleyicisi diğer yöntemlerden eylem yöntemlerini açıkça ayırt yapar.