runtime config 更新脚本
API - Core_Controller_RunTime
- Controller_RunTime::action_check_server - 检查当前服务器的可用性,包括MySQL,MongoDB,Memcache等
 继承自父类的方法和变量
- Controller::$arguments - 页面请求的参数
 - Controller::$controller - 当前访问的控制器
 - Controller::$action - 当前调用的方法
 - Controller::$uri - 当前请求的URI
 - Controller::$directory - 当前请求的目录部分
 - Controller::$ids - 当前控制器信息ID
 - Controller::$controllers - 控制器实例化化对象
 - Controller_Shell::action_default
 - Controller_Shell::getopt - 获取shell命令下参数
 - Controller_Shell::input - 获取用户输入内容
 - Controller_Shell::output - 输出内容,会附加换行符
 - Controller::__construct
 - Controller::session - 返回Session对象
 - Controller::show_message - 显示信息
 - Controller::show_success - 输出成功信息
 - Controller::show_error
 - Controller::execute - 执行新控制
 - Controller::redirect - 页面跳转
 - Controller::header_cache - 页面输出header缓存
 
检查当前服务器的可用性,包括MySQL,MongoDB,Memcache等
保存runtime配置
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$config | 
array | 
$config | 
检查MySQL连接的可用性,包括读写速度
每隔5分钟检测一次即可
获取需要检测的mysql服务器列表
返回的内容类似
array
(
    '127.0.0.1:3307' => array
    (
        'database' => 'test',
        'username' => 'root',
        'password' => '123456,
    ),
    '127.0.0.1:3308' => array
    (
        'database' => 'test',
        'username' => 'root',
        'password' => '123456,
    ),
)
array 获取slave的性能
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$mysql_servers | 
array | 
$mysql_servers | 
array 获取相应的权重
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$status | 
array | 
$status | 
array 获取shell命令下参数
与getopt()具体相似的功能,区别:在命令行中如果执行 php index.php default test -a=1 -b=c 这样的命令时,通过getopt()会获取参数失败,而这个方法可以正确获得相应的参数
示例:
在默认项目Shell控制器中加入一个test控制器文件 ( projects/default/controller_shell/test.controller.php ) 内容为:
<?php
class Controller_Test extends Controller_Shell
{
    public function action_run()
    {
        $shortopts  = "";
        $shortopts .= "f:";  // 必须有值, 比如:-f myvalue,将会得到f=myvalue
        $shortopts .= "v::"; // 可接受值, 比如:-v 则v=false,如果是-v=myvalue,则v=myvalue
        $shortopts .= "abc"; // 不接受值, 比如:-a -v 则获取a=false,v=false,注意,这个并不是接受-abc的参数,而是分别可接受-a,-b,-c
        $longopts  = array
        (
            "required:",     // 必须有值, 比如:--required=abc
            "optional::",    // 可接受值, 比如:--optional 则获取 optional=false,--optional=abc,则是optional=abc
            "option",        // 不接受值, 比如:--option 则获取 option=false
            "opt",           // 同上
        );
        $options = self::getopt($shortopts, $longopts);
        var_dump($options);
    }
}
通过 php index.php default test run -f "value for f" -v -a --required value --optional="optional value" --option 运行以上脚本会输出
array(6) {
  ["f"]=> string(11) "value for f"
  ["v"]=> bool(false)
  ["a"]=> bool(false)
  ["required"]=> string(5) "value"
  ["optional"]=> string(14) "optional value"
  ["option"]=> bool(false)
}
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$options | 
string | 
但字符参数,只接受[a-zA-Z0-9]的参数,比如 -a, -h, -v=myvalue, -4 这样 | |
$global_options | 
array | 
--参数,比如--test, --help, --v=abc 这样 | null | 
array 返回获取到的参数的数组获取用户输入内容
输出内容,会附加换行符
用于给系统调用设置对象变量
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$data | 
array | 
$data | 
用于给系统调用获取控制器变量
返回Session对象
Session 显示信息
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$msg | 
string | 
$message | |
$code | 
int | 
$code | integer 0 | 
$data | 
unknown | 
array(0) | 
输出成功信息
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$message | 
string | 
$message | string(7) "success" | 
$data | 
unknown | 
array(0) | 
执行新控制
若采用非内部调用,则会等同于浏览器的URI执行,请注意防止陷入死循环
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$uri | 
string | 
新的uri | |
$print | 
boolean | 
是否直接输出 | bool true | 
$use_route | 
boolean | 
是否在路由中寻找,默认:是 | bool true | 
$is_internal | 
boolean | 
是否内部调用,默认:是 | bool true | 
string 返回新控制器执行的html页面跳转
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$url | 
string | 
Redirect location | |
$code | 
integer | 
Status code: 301, 302, etc | integer 302 | 
void 页面输出header缓存
0表示不缓存
| 参数 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
$time | 
int | 
缓存时间,单位秒 | integer 86400 |