应用配置

优质
小牛编辑
143浏览
2023-12-01

这个配置文档是用来配置应用的基本设置的,当然你也可以配置更多的配置变量用在你编程的时候当做全局变量使用。下面看下这个配置文档:


$config = array(

    'template' => 'default',    //默认模板
    /**
     * 模板编译缓存配置
     * 0 : 不启用缓存,每次请求都重新编译(建议开发阶段启用)
     * 1 : 开启部分缓存, 如果模板文件有修改的话则放弃缓存,重新编译(建议测试阶段启用)
     * -1 : 不管模板有没有修改都不重新编译,节省模板修改时间判断,性能较高(建议正式部署阶段开启)
     */
    'temp_cache' => 0,

    /**
     * 用户自定义模板标签编译规则
     * array( 'search_pattern' => 'replace_pattern'  );
     */
    'temp_rules' => array(),

    'host' => $_SERVER['HTTP_HOST'],     //网站主机名
    //默认访问的页面
    'default_url' => array(
        'module' => 'demo',
        'action' => 'index',
        'method' => 'index' ),

    'template' => 'default',    //默认模板
    'temp_cache' => 0,      //模板引擎缓存

    //短链接映射
    'url_mapping_rules' => array(
        '^\/newsdetail-(\d+)\/?$' => '/news/article/detail/?id=${1}',
        '^\/admin\/?$' => '/admin/index/login',
    ),

    //以上都框架内置的配置变量,请不要删除,下面是用户自定义的变量可以添加或者删除
    'site_name' => 'HerosPHP 快速开发平台',
    'site_copyright' => '2016 © HerosPHP by BlackFox',

    'rsa_private_key' => __DIR__.'/keys/rsa_private_key.pem', //ssh 私钥
    'rsa_public_key' => __DIR__.'/keys/rsa_public_key.pem', //ssh 公钥
);

1. 模板配置

模板配置的值为你的模板文件夹的名称,模板文件夹的路径为 app/modules/{module_name}/template, 默认为default, 不过一般情况下我们都不会改的。如果要更改的话只需要把文件名称改掉(如bootstrap),然后再在app.config.php修改:

'template' => 'bootstrap'            

2. 模板编译规则配置

模板编译缓存配置的配置key为temp_rules, 其格式是一个 array('search' => 'replace') 的数组,search 和 repalce都是正则表达式,表示替换规则, 如:

'temp_rules' => array(
    '/{loop\s+\$(.*?)\s+\$([0-9a-z_]{1,})\s*}/i'    => '<?php foreach ( \$${1} as \$${2} ) { ?>',
    '/{\/loop}/i'    => '<?php } ?>',
);

3. URL映射

herosphp的url访问格式是 /{module}/{action}/{method}/param1-value1-param2-value2 形式, 其中{module}, {action}, {method} 分别表示模块,控制器,方法。

URL映射也就是自定义路由,手动配置某个访问页面的路由, 其配置key为 url_mapping_rules, 格式也是 array('search' => 'replace') 形式的数组,search 和 replace 也是正则表达式(当然纯字符串也是支持的),所以配置也是相当灵活的。

'^\/session\/?$' => '/test/session/get'

表示当url为 /session 或者 /session/ 的时候自动转发到 /test/session/get 去,这样就实现了自定义路由了。

'^\/news-(\d+)\/?$' => '/news/news/detail/?id=${1}'    

这个是带参数的路由,匹配类似 /news-123/, /news-234/的url, 转发到 /news/news/detail/?id=123