예제 #1
0
파일: Controller.php 프로젝트: t-f-m/ethna
 /**
  *  指定された遷移名に対応するビュークラス名を返す(オブジェクトの生成は行わない)
  *
  *  @access public
  *  @param  string  $forward_name   遷移先の名称
  *  @return string  view classのクラス名
  */
 public function getViewClassName($forward_name)
 {
     if ($forward_name == null) {
         return null;
     }
     if (isset($this->forward[$forward_name])) {
         $forward_obj = $this->forward[$forward_name];
     } else {
         $forward_obj = array();
     }
     if (isset($forward_obj['view_name'])) {
         $class_name = $forward_obj['view_name'];
         if (class_exists($class_name)) {
             return $class_name;
         }
     } else {
         $class_name = null;
     }
     // viewのインクルード
     $this->_includeViewScript($forward_obj, $forward_name);
     if (is_null($class_name) == false && class_exists($class_name)) {
         return $class_name;
     } else {
         if (is_null($class_name) == false) {
             $this->logger->log(LOG_WARNING, 'stated view class is not defined [%s] -> try default', $class_name);
         }
     }
     $class_name = $this->getDefaultViewClass($forward_name);
     if (class_exists($class_name)) {
         return $class_name;
     } else {
         $class_name = $this->class_factory->getObjectName('view');
         $this->logger->log(LOG_DEBUG, 'view class is not defined for [%s] -> use default [%s]', $forward_name, $class_name);
         return $class_name;
     }
 }