本文整理汇总了PHP中Ethna_Controller::getClassFactory方法的典型用法代码示例。如果您正苦于以下问题:PHP Ethna_Controller::getClassFactory方法的具体用法?PHP Ethna_Controller::getClassFactory怎么用?PHP Ethna_Controller::getClassFactory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ethna_Controller
的用法示例。
在下文中一共展示了Ethna_Controller::getClassFactory方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getDB
/**
* DBオブジェクトを返す
*
* @access public
* @param string $db_key DBキー
* @return mixed Ethna_DB:DBオブジェクト null:DSN設定なし Ethna_Error:エラー
* @todo この中でnewしないでclass factoryを利用する
*/
public function getDB($db_key = "")
{
$null = null;
$db_varname = $this->_getDBVarname($db_key);
if (Ethna::isError($db_varname)) {
return $db_varname;
}
if (isset($this->db_list[$db_varname]) && $this->db_list[$db_varname] != null) {
return $this->db_list[$db_varname];
}
$dsn = $this->controller->getDSN($db_key);
if ($dsn == "") {
// DB接続不要
return $null;
}
$dsn_persistent = $this->controller->getDSN_persistent($db_key);
$class_factory = $this->controller->getClassFactory();
$db_class_name = $class_factory->getObjectName('db');
// BC: Ethna_DB -> Ethna_DB_PEAR
if ($db_class_name == 'Ethna_DB') {
$db_class_name = 'Ethna_DB_PEAR';
}
if (class_exists($db_class_name) === false) {
$class_factory->_include($db_class_name);
}
$this->db_list[$db_varname] = new $db_class_name($this->controller, $dsn, $dsn_persistent);
$r = $this->db_list[$db_varname]->connect();
if (Ethna::isError($r)) {
$this->db_list[$db_varname] = null;
return $r;
}
register_shutdown_function(array($this, 'shutdownDB'));
return $this->db_list[$db_varname];
}
示例2: setup
public function setup()
{
parent::setup();
$this->controller = $this->prophesize("Ethna_Controller");
$this->config = $this->prophesize("Ethna_Config");
$this->i18n = $this->prophesize("Ethna_I18N");
$this->action_error = $this->prophesize("Ethna_ActionError");
$this->action_form = $this->prophesize("Ethna_ActionForm");
$this->action_class = $this->prophesize("Ethna_ActionClass");
$this->session = $this->prophesize("Ethna_Session");
$this->plugin = $this->prophesize("Ethna_Plugin");
$this->logger = $this->prophesize("Ethna_Logger");
$this->class_factory = $this->prophesize("Ethna_ClassFactory");
$this->controller->getClassFactory()->willReturn($this->class_factory);
$this->controller->getConfig()->willReturn($this->config);
$this->controller->getI18N()->willReturn($this->i18n);
$this->controller->getActionError()->willReturn($this->action_error);
$this->controller->getActionForm()->willReturn($this->action_form);
$this->controller->getSession()->willReturn($this->session);
$this->controller->getPlugin()->willReturn($this->plugin);
$this->controller->getLogger()->willReturn($this->logger);
}
示例3: setUp
function setUp()
{
$ctl = new Ethna_Controller();
$this->cf = $ctl->getClassFactory();
}