예제 #1
0
 public function testSet()
 {
     $this->conf->set('batch.num.messages', 666);
     $dumpedConfig = $this->conf->dump();
     $batchNumMessages = $dumpedConfig['batch.num.messages'];
     $this->assertEquals(666, $batchNumMessages);
 }
예제 #2
0
파일: Runner.php 프로젝트: raulcarval/tests
 static function init()
 {
     $fh = fopen("./log.txt", "w");
     try {
         fputs($fh, "start\n");
         $conf = new Conf(dirname(__FILE__) . "/../public/conf01.xml");
         print "user: "******"\n";
         print "host: " . $conf->get('host') . "\n";
         $conf->set("pass", "newpass");
         $conf->write();
     } catch (FileException $e) {
         // permissions issue or non-existent file
         fputs($fh, "file exception\n");
         throw $e;
     } catch (XmlException $e) {
         fputs($fh, "xml exception\n");
         // broken xml
     } catch (ConfException $e) {
         fputs($fh, "conf exception\n");
         // wrong kind of XML file
     } catch (Exception $e) {
         fputs($fh, "general exception\n");
         // backstop: should not be called
     } finally {
         fputs($fh, "end\n");
         fclose($fh);
     }
 }
예제 #3
0
 function execute(WebApp $app)
 {
     // 载入节点数据
     require_once API_ROOT . 'StorageExport.php';
     $nodes = (new StorageExport())->getNodes();
     $curNodeId = Conf::get('node_id');
     if (!$curNodeId) {
         $curNodeId = isset($_SERVER['STORAGE_NODE_ID']) ? intval($_SERVER['STORAGE_NODE_ID']) : 0;
         if ($curNodeId > 0) {
             Conf::set('node_id', $curNodeId);
         }
     }
     if (!$curNodeId) {
         throw new Exception('node.u_args node_id not defined');
     }
     //		if (!isset($nodes[$curNodeId])) {
     //			throw new Exception('node.u_curnodeNotFound node_id='.$curNodeId);
     //		}
     Logger::addBasic(array('node_id' => $curNodeId));
     $dbConfs = Conf::get('db.conf');
     foreach ($nodes as $node) {
         // 设定好当前节点的数据库
         $cdb = $node['node_db'];
         $confs = parse_url($cdb);
         if (!isset($confs['port'])) {
             $confs['port'] = 3306;
         }
         $confs['path'] = trim($confs['path'], '/');
         $confs['charset'] = 'utf8';
         if (isset($confs['query'])) {
             parse_str($confs['query'], $args);
             if (isset($args['charset']) && $args['charset'] != 'utf8') {
                 $confs['charset'] = $args['charset'];
             }
         }
         $key = 'node' . $node['node_id'];
         $dbConfs['db_pool'][$key] = array('ip' => $confs['host'], 'user' => $confs['user'], 'pass' => $confs['pass'], 'port' => $confs['port'], 'charset' => $confs['charset']);
         $dbConfs['dbs'][$key] = $key;
         $dbConfs['db_alias'][$key] = $confs['path'];
     }
     Db::init($dbConfs);
     Conf::set('db.conf', $dbConfs);
 }
예제 #4
0
파일: index.php 프로젝트: Overfinch/oop
 static function init()
 {
     try {
         $config = new Conf("file.xml");
         $config->set('sex', 'male');
         // назначает значение
         $config->write();
         // записывает в файл
         echo "sex: " . $config->get('sex');
         // выводит значение
     } catch (FileException $e) {
         die($e->__toString());
         //файл не существует либо не доступен для записи
     } catch (XmlException $e) {
         die($e->__toString());
         //Повреждённый XML-файл
     } catch (ConfException $e) {
         die($e->__toString());
         //не корректный формат XML-файла
     } catch (Exception $e) {
         die($e->__toString());
         // Этот код не долже никогда вызываться
     }
 }
예제 #5
0
 static function init()
 {
     try {
         //~ $conf = new Conf( dirname(__FILE__)."/conf.broken.xml" );
         //~ $conf = new Conf( dirname(__FILE__)."/conf.unwriteable.xml" );
         $conf = new Conf("nonexistent/not_there.xml");
         print "user: "******"\n";
         print "host: " . $conf->get('host') . "\n";
         $conf->set("pass", "newpass");
         $conf->write();
     } catch (FileException $e) {
         // permissions issue or non-existent file
         throw $e;
     } catch (XmlException $e) {
         throw $e;
         // broken xml
     } catch (ConfException $e) {
         throw $e;
         // wrong kind of XML file
     } catch (Exception $e) {
         throw $e;
         // backstop: should not be called
     }
 }
예제 #6
0
 /**
  * @expectedException LogicException
  */
 public function testInvalidParser()
 {
     Conf::set('markdown', 'invalid-parser');
     App::make('markdown');
 }
예제 #7
0
        $this->file = $file;
        $this->xml = simplexml_load_file($file);
    }
    function write()
    {
        file_put_contents($this->file, $this->xml->asXML());
    }
    function get($str)
    {
        $matches = $this->xml->xpath("/conf/item[@name=\"{$str}\"]");
        if (count($matches)) {
            $this->lastmatch = $matches[0];
            return (string) $matches[0];
        }
        return null;
    }
    function set($key, $value)
    {
        if (!is_null($this->get($key))) {
            $this->lastmatch[0] = $value;
            return;
        }
        $conf = $this->xml->conf;
        $this->xml->addChild('item', $value)->addAttribute('name', $key);
    }
}
$conf = new Conf(dirname(__FILE__) . "/conf01.xml");
print "user: "******"\n";
print "host: " . $conf->get('host') . "\n";
$conf->set("pass", "newpass");
$conf->write();
예제 #8
0
 public function testSetArray()
 {
     Conf::set(['one' => 'aaa', 'two' => 'bbb']);
     $this->assertEquals('aaa', Conf::get('one'));
     $this->assertEquals('bbb', Conf::get('two'));
     $this->assertEquals('pochika-test', Conf::get('title'));
 }
예제 #9
0
파일: route.inc.php 프로젝트: hihus/newpi
<?php

//路由名字的首尾不加下划线!
Conf::set('route.custom_router', array('login/(:p)' => array('url' => 'login/index', 'p' => array('userid')), 'index/(:p)' => array('url' => 'index/index', 'p' => array('userid')), '(:p)' => array('url' => 'index/index', 'p' => array('userid')), 'search/login/(:p)/new' => array('url' => 'index/index', 'p' => array('userid'))));
 /**
  * @expectedException Pochika\Exception\NotFoundException
  */
 public function testUnknownAssets()
 {
     Conf::set('theme', 'unknown');
     Artisan::call('pochika:publish_assets');
 }
예제 #11
0
파일: global.inc.php 프로젝트: hihus/newpi
<?php

//全局web配置
//Conf::Set("hihu","hello");
Conf::set('global.view_lib_path', 'core/views/smarty-3.1.27/libs/Smarty.class.php');
Conf::set('global.view_engine', 'Smarty');
Conf::set('global.view_path', APP_ROOT . 'view/views/');
//Conf::set('global.dispatcher_path',PI_CORE.'RouteDispatcher.php');
Conf::set('global.dispatcher_path', PI_CORE . 'RouteDispatcher.php');
Conf::set('global.nolog_exception', array(1022 => 1, 1025 => 1));