Kendimi tekrar tekrar kullanarak ve bulmak şeyler bazı eylem yardımcıları vardır. Bir o yükler ve önbelleklerini Modelleri, parametreleri, (bu _forward veya yönlendirme veya geçerli sorgu içinde onlara erişmek ister çalışır dışında FlashMessenger benzer) hata uyarı ve bilgi mesajları yöneten başka doğrular başka. Ayrıca kullanıcı modülü / view / eylem ziyaret ACL izinleri varsa bir bir href döndürür (a Kaydet gibi ve hiçbir Label ile birbirlerine yanında görünür İptal düğmesine) bazı özelleştirilmiş form denetimleri, ve bazı görünüm Yardımcıları. Bu jenerik ve tüm projeler tarafından kullanılan içerir paylaşılan dizinde yaşıyor.
Ben (Zend_Controller_Action bir uzantısı gibi) jenerik sınıfların bir sürü vardı ama çerçeve olgunlaştı gibi davranışlar daha küçük, daha genel yardımcıları ve talep üzerine yüklenebilir programları içine itilebilir, çünkü bunlar genellikle daha az gerekli olmuştur. [I 0.9 beri ZF kullanarak oldum]
Model yardımcı altında
//-------------------------------------------------------------------------
/*! \brief loads and caches models
usage in an Action controller: eg
$users = $this->_helper->model( 'User' );
loads MODEL_PATH . User.php
Idea stolen from
http://fedecarg.com/wiki/Module-specific_Models
*/
class LSS_Controller_Action_Helper_Model extends Zend_Controller_Action_Helper_Abstract
{
const PREFIX = 'MODEL_';
//-------------------------------------------------------------------------
/*! \brief return a global instance of the specified model.
Uses Zend_registry to store a cached instance of the model so we don't have to load it
in each function.
You can use sub directories by passing in the class name eg Customer_Session
\param $type string type of value to return
\return model instance
*/
function direct( $name )
{
$regName = self::PREFIX . $name;
if (Zend_Registry::isRegistered( $regName )) return Zend_Registry::get( $regName );
require_once( MODEL_PATH . str_replace( '_', '/', $name ) . '.php' );
$instance = new $name;
Zend_Registry::set( $regName, $instance );
return $instance;
}
}