/** * Ethna_Sessionクラスのコンストラクタ * * @access public * @param string $appid アプリケーションID(セッション名として使用) * @param string $save_dir セッションデータを保存するディレクトリ */ public function __construct($ctl, $appid) { $this->ctl = $ctl; $this->logger = $this->ctl->getLogger(); $config = $this->ctl->getConfig()->get('session'); if ($config) { $this->config = array_merge($this->config, $config); } $this->session_save_dir = $this->config['path']; if (($dir = $this->ctl->getDirectory($this->config['path'])) !== null) { $this->session_save_dir = $dir; } $this->session_name = $appid . $this->config['suffix']; // set session handler ini_set('session.save_handler', $this->config['handler']); session_save_path($this->session_save_dir); session_name($this->session_name); session_cache_limiter($this->config['cache_limiter']); session_cache_expire($this->config['cache_expire']); $this->session_start = false; if (isset($_SERVER['REQUEST_METHOD']) == false) { return; } if (strcasecmp($_SERVER['REQUEST_METHOD'], 'post') == 0) { $http_vars = $_POST; } else { $http_vars = $_GET; } if (array_key_exists($this->session_name, $http_vars) && $http_vars[$this->session_name] != null) { $_COOKIE[$this->session_name] = $http_vars[$this->session_name]; } }
/** * Ethna_Rendererクラスのコンストラクタ * * @access public */ public function __construct($controller) { $this->controller = $controller; $this->ctl = $this->controller; $this->engine = null; $this->template = null; $this->prop = array(); $this->plugin_registry = array(); $template_dir = $controller->getTemplatedir(); $this->template_dir = $template_dir; // load configuration $config = $this->ctl->getConfig(); $renderer_config = $config->get('renderer'); $this->config = $this->mergeConfig($this->config_default, isset($renderer_config[$this->getName()]) ? $renderer_config[$this->getName()] : array()); $this->logger = $this->controller->getBackend()->getLogger(); }
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); }