Example #1
0
 public function routerShutdown(Yaf\Request_Abstract $request, Yaf\Response_Abstract $response)
 {
     /* 验证是否为命令行方式 */
     if ($request->isCli()) {
         $action = $request->getActionName();
         $locate_param = strpos($request->getRequestUri(), '?');
         $locate = strpos($request->getActionName(), '?');
         /* 验证action是否有传参 */
         if ($locate !== false) {
             $query_list = array();
             //重新设置action
             $request->setActionName(substr($action, 0, $locate));
             //截取query_string
             $query_string = substr($request->getRequestUri(), $locate_param + 1);
             //解析query_string
             parse_str($query_string, $query_list);
             //循环set到param
             foreach ($query_list as $key => $value) {
                 $request->setParam($key, $value);
             }
         }
     }
     $request_uri = strtolower($request->getModuleName() . '/' . $request->getControllerName() . '/' . $request->getActionName());
     $request->setRequestUri($request_uri);
     $request->setModuleName(ucfirst($request->getModuleName()));
     $request->setControllerName(underline_to_camel(ucfirst($request->getControllerName())));
     $request->setActionName(underline_to_camel($request->getActionName()));
     /* 保存请求地址 */
     Yaf\Registry::set('request_uri', $request_uri);
 }
Example #2
0
function g($key, $value = null, $nullSet = false)
{
    $sp = explode('/', $key);
    $nullSet = $nullSet || !is_null($value);
    $_g = Yaf\Registry::get($sp[0]);
    $vals =& $_g;
    if (Yaf\Registry::has($sp[0]) || $nullSet) {
        $i = 1;
        while (isset($sp[$i])) {
            $pos = $sp[$i];
            if (!isset($vals[$pos])) {
                if ($nullSet) {
                    $vals[$pos] = [];
                } else {
                    return null;
                }
            } elseif (!is_array($vals[$pos]) && $nullSet) {
                $vals[$pos] = [];
            }
            $vals =& $vals[$pos];
            $i++;
        }
        if ($nullSet) {
            $vals = $value;
            return Yaf\Registry::set($sp[0], $_g);
        } else {
            return $vals;
        }
    } else {
        return null;
    }
}
Example #3
0
 public function _initConfig(Yaf\Dispatcher $dispatcher)
 {
     //把配置保存起来
     $this->config = Yaf\Application::app()->getConfig();
     Yaf\Registry::set('config', $this->config);
     define('REQUEST_METHOD', strtoupper($dispatcher->getRequest()->getMethod()));
 }
Example #4
0
 public function _initTwig(Dispatcher $dispatcher)
 {
     $twig = new TwigAdapter(null, \Yaf\Application::app()->getConfig()->twig->toArray());
     $dispatcher->setView($twig);
     Yaf\Registry::set("twig", $twig);
     // $dispatcher->registerPlugin(new SmartyControllerPlugin());
 }
Example #5
0
 /**
  * Initialize illuminate/database
  *
  * @param Yaf\Dispatcher $dispatcher
  */
 protected function _initORM(Yaf\Dispatcher $dispatcher)
 {
     $dbConfig = Yaf\Application::app()->getConfig()->database->toArray();
     $db = new Capsule();
     $db->addConnection($dbConfig);
     $db->bootEloquent();
     Yaf\Registry::set('db', $db->getConnection());
 }
Example #6
0
 public function _initConfig($dispatcher)
 {
     $config = new Yaf\Config\ini('./conf/db.ini', YAF\ENVIRON);
     $config = $config->toArray();
     #print_r($config);return;
     Yaf\Registry::set('DbConf', $config['data']);
     $dispatcher->autoRender(FALSE);
     #Yaf\Loader::getInstance()->registerLocalNamespace("Db");
 }
Example #7
0
 public function _initDatabase()
 {
     $db_config['hostname'] = $this->arrConfig->db->hostname;
     $db_config['username'] = $this->arrConfig->db->username;
     $db_config['password'] = $this->arrConfig->db->password;
     $db_config['database'] = $this->arrConfig->db->database;
     $db_config['log'] = $this->arrConfig->db->log;
     $db_config['logfilepath'] = $this->arrConfig->db->logfilepath;
     Yaf\Registry::set('db', new Db($db_config));
 }
Example #8
0
 public function setUp()
 {
     $this->application = Yaf\Registry::get('Application');
     if ($this->application) {
         return;
     }
     $this->application = new Yaf\Application(APPLICATION_PATH . "/config/application.ini", APPLICATION_ENVIRONMENT);
     $this->application->bootstrap();
     Yaf\Registry::set('Application', $this->application);
     Yaf\Dispatcher::getInstance()->setView(PHPUnit_MockYafView::getInstance());
 }
Example #9
0
 /**
  * 初始化 yaf config
  * @param \Yaf\Dispatcher $dispatcher
  */
 public function _initConfig(Yaf\Dispatcher $dispatcher)
 {
     $app = (array) \TheFairLib\Config\Config::load("App");
     $config = Yaf\Application::app()->getConfig();
     $config = new Yaf\Config\Simple($config->toArray(), false);
     foreach ($app as $key => $val) {
         $config->set($key, $val);
     }
     Yaf\Registry::set("config", $config);
     $router = $dispatcher::getInstance()->getRouter();
     $router->addConfig(Yaf\Registry::get("config")->routes);
 }
Example #10
0
 public function _initConfig(Yaf\Dispatcher $dispatcher)
 {
     //把配置保存起来
     $this->config = Yaf\Application::app()->getConfig();
     Yaf\Registry::set('config', $this->config);
     session_start();
     define('REQUEST_METHOD', strtoupper($dispatcher->getRequest()->getMethod()));
     define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
     define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
     define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
     define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
     define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ? true : false);
 }
Example #11
0
 public function _initRegistry()
 {
     $dsn = "mysql:dbname=" . SysConfig::$db_config['default']['dbname'] . ";host=" . SysConfig::$db_config['default']['host'] . ";port=" . SysConfig::$db_config['default']['port'];
     $username = SysConfig::$db_config['default']['username'];
     $password = SysConfig::$db_config['default']['password'];
     $db = new Db_Database($dsn, $username, $password);
     Yaf\Registry::set('db', $db);
     $dsn = "mysql:dbname=" . SysConfig::$db_config['driver_task_pool']['dbname'] . ";host=" . SysConfig::$db_config['driver_task_pool']['host'] . ";port=" . SysConfig::$db_config['driver_task_pool']['port'];
     $username = SysConfig::$db_config['driver_task_pool']['username'];
     $password = SysConfig::$db_config['driver_task_pool']['password'];
     $driver_task_pool = new Db_Database($dsn, $username, $password);
     Yaf\Registry::set('driver_task_pool', $driver_task_pool);
 }
Example #12
0
 /**
  * 获取ini配置
  * @param $configName 配置文件名称
  * @param $section 节点名称
  * @param $configPath 配置文件路径
  */
 public static function getConfig($configName, $section = null, $configPath = null)
 {
     if (!$configPath) {
         $configPath = APPLICATION_PATH . '/conf';
     }
     if (!$section) {
         $section = YAF\ENVIRON;
     }
     if (Yaf\Registry::has($configName . $section)) {
         return Yaf\Registry::get($configName . $section);
     }
     $config = new Yaf\Config\Ini($configPath . '/' . $configName . '.ini', $section);
     Yaf\Registry::set($configName . $section, $config);
     return $config;
 }
Example #13
0
 public function _initConfig($dispatcher)
 {
     $config = Yaf\Application::app()->getConfig();
     Yaf\Registry::set('config', $config);
 }
Example #14
0
 /**
  * 获取用户信息
  *
  */
 public function _initUserInfo()
 {
     $userModel = new UserModel();
     $httpRequest = new Yaf\Request\Http();
     // 获取cookies
     $email = $httpRequest->getCookie('email');
     $password = $httpRequest->getCookie('password');
     $userInfo = array();
     if ($email) {
         // 查询用户信息
         $userInfoQuery = $userModel->getUserByEmail($email);
         if ($userInfoQuery['password'] == $password) {
             $userInfo = $userInfoQuery;
         } else {
             // 清除 Cookies
             Local\Header\Cookies::clearCookie('email');
             Local\Header\Cookies::clearCookie('password');
         }
         unset($userInfoQuery);
     }
     Yaf\Registry::set('userInfo', $userInfo);
     unset($userInfo);
 }
Example #15
0
 public function _initDatabase(Yaf\Dispatcher $dispatcher)
 {
     $servers = array();
     $database = $this->config->database;
     $servers[] = $database->master->toArray();
     $slaves = $database->slaves;
     if (!empty($slaves)) {
         $slave_servers = explode('|', $slaves->servers);
         $slave_users = explode('|', $slaves->users);
         $slave_passwords = explode('|', $slaves->passwords);
         $slave_databases = explode('|', $slaves->databases);
         $slaves = array();
         foreach ($slave_servers as $key => $slave_server) {
             if (isset($slave_users[$key]) && isset($slave_passwords[$key]) && isset($slave_databases[$key])) {
                 $slaves[] = array('server' => $slave_server, 'user' => $slave_users[$key], 'password' => $slave_passwords[$key], 'database' => $slave_databases[$key]);
             }
         }
         $servers[] = $slaves[array_rand($slaves)];
     }
     Yaf\Registry::set('database', $servers);
     if (isset($database->mysql_cache_enable) && $database->mysql_cache_enable && !defined('MYSQL_CACHE_ENABLE')) {
         define('MYSQL_CACHE_ENABLE', true);
     }
     if (isset($database->mysql_log_error) && $database->mysql_log_error && !defined('MYSQL_LOG_ERROR')) {
         define('MYSQL_LOG_ERROR', true);
     }
 }
Example #16
0
 public function _initConfig()
 {
     //把配置保存起来
     $arrConfig = Yaf\Application::app()->getConfig();
     Yaf\Registry::set('config', $arrConfig);
 }
Example #17
0
 /**
  * 加载widget
  */
 public function _initWidget(Yaf\Dispatcher $dispatcher)
 {
     //初始化widget view 视图类 library
     $widgetView = new WidgetView();
     Yaf\Registry::set('widgetView', $widgetView);
     //初始化widget插件, 加载widget
     $widgetPlugin = new WidgetPlugin();
     $dispatcher->registerPlugin($widgetPlugin);
 }
Example #18
0
 public function _initDoctrine()
 {
     $event = $this->profiler->startEvent('Init library: Doctrine');
     $loader = new Doctrine\Common\ClassLoader('Entity', $this->config->db->doctrine->entity);
     $loader->register();
     $loader = new Doctrine\Common\ClassLoader('EntityProxy', $this->config->db->doctrine->entityProxy);
     $loader->register();
     $config = new Doctrine\ORM\Configuration();
     $cache = new Doctrine\Common\Cache\ArrayCache();
     $config->setQueryCacheImpl($cache);
     $config->setProxyDir($this->config->db->doctrine->entityProxy);
     $config->setProxyNamespace('EntityProxy');
     $config->setAutoGenerateProxyClasses(true);
     Doctrine\Common\Annotations\AnnotationRegistry::registerFile(LIBRARY_PATH . '/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php');
     $driver = new Doctrine\ORM\Mapping\Driver\AnnotationDriver(new Doctrine\Common\Annotations\AnnotationReader(), array($this->config->db->doctrine->entity));
     $config->setMetadataDriverImpl($driver);
     $config->setMetadataCacheImpl($cache);
     $em = Doctrine\ORM\EntityManager::create($this->config->db->params->toArray(), $config);
     Yaf\Registry::set('entityManager', $em);
     $this->profiler->endEvent($event);
 }
Example #19
0
 public function _initRedis()
 {
     $redis = new Redis();
     $redis->connect('127.0.0.1');
     Yaf\Registry::set('redis', $redis);
 }
Example #20
0
 public function _initConfig(Yaf\Dispatcher $dispatcher)
 {
     $commonConfig = json_decode(file_get_contents(APP_PATH . '/../conf/common.json'), true);
     $config = array_merge(Yaf\Application::app()->getConfig()->toArray(), $commonConfig);
     Yaf\Registry::set('config', (object) $config);
 }
Example #21
0
 /**
  * 加载用户配置
  * @param \Yaf\Dispatcher $dispatcher
  */
 public function _initConfig(Yaf\Dispatcher $dispatcher)
 {
     Yaf\Registry::set('config', Yaf\Application::app()->getConfig());
 }