文档
Welcome! 安装(Installation) 示例列表(List of examples) 依赖注入与服务定位器(Dependency Injection/Service Location) MVC 架构(The MVC Architecture) 使用控制器(Using Controllers) 使用模型(Working with Models) 模型元数据(Models Meta-Data) 事务管理(Model Transactions) Phalcon 查询语言(Phalcon Query Language (PHQL)) 缓存对象关系映射(Caching in the ORM) 对象文档映射 ODM (Object-Document Mapper) 使用视图(Using Views) 视图助手(View Helpers) 资源文件管理(Assets Management) Volt 模版引擎(Volt: Template Engine) MVC 应用(MVC Applications) 路由(Routing) 调度控制器(Dispatching Controllers) 微应用(Micro Applications) 使用命名空间(Working with Namespaces) 事件管理器(Events Manager) 请求环境 (Request Environment) 返回响应(Returning Responses) Cookie 管理(Cookies Management) 生成 URL 和 路径(Generating URLs and Paths) 闪存消息(Flashing Messages) 使用 Session 存储数据(Storing data in Session) 过滤与清理(Filtering and Sanitizing) 上下文编码(Contextual Escaping) 验证(Validation) 表单(Forms) 读取配置(Reading Configurations) 分页(Pagination) 使用缓存提高性能(Improving Performance with Cache) 安全(Security) 加密/解密( Encryption/Decryption ) 访问控制列表 ACL(Access Control Lists ACL) 多语言支持(Multi-lingual Support) 通用类加载器 ( Universal Class Loader ) 日志记录(Logging) 注释解析器(Annotations Parser) 命令行应用(Command Line Applications) 队列(Queueing) 数据库抽象层(Database Abstraction Layer) 国际化(Internationalization) 数据库迁移(Database Migrations) 调试应用程序(Debugging Applications) Phalcon 开发工具(Phalcon Developer Tools) 提高性能:下一步该做什么?(Increasing Performance: What's next?) 单元测试(Unit testing) 授权(License)
教程

发布于 2015-08-21 15:17:22 | 1177 次阅读 | 评论: 0 | 来源: 网络整理

读取配置(Reading Configurations)

PhalconConfig 是一个用于将各种格式的配置文件读取到PHP对象的组件(使用适配器)。

文件适配器(File Adapters)

可用的适配器有:

原生数组(Native Arrays)

下面的例子展示如何将本地数组导入 PhalconConfig 对象。此选项提供了最好的性能,因为在这个请求中没有读取文件。

<?php

use PhalconConfig;

$settings = array(
    "database" => array(
        "adapter"  => "Mysql",
        "host"     => "localhost",
        "username" => "scott",
        "password" => "cheetah",
        "dbname"   => "test_db"
    ),
     "app" => array(
        "controllersDir" => "../app/controllers/",
        "modelsDir"      => "../app/models/",
        "viewsDir"       => "../app/views/"
    ),
    "mysetting" => "the-value"
);

$config = new Config($settings);

echo $config->app->controllersDir, "n";
echo $config->database->username, "n";
echo $config->mysetting, "n";

如果你想更好的组织你的项目,你可以在另一个文件保存数组,然后读入它。

<?php

use PhalconConfig;

require "config/config.php";
$config = new Config($settings);

读取 INI 文件(Reading INI Files)

INI文件是存储设置的常用方法。PhalconConfig 采用优化的PHP函数parse_ini_file读取这些文件。为方便访问,文件部分解析成子设置。

[database]
adapter  = Mysql
host     = localhost
username = scott
password = cheetah
dbname   = test_db

[phalcon]
controllersDir = "../app/controllers/"
modelsDir      = "../app/models/"
viewsDir       = "../app/views/"

[models]
metadata.adapter  = "Memory"

你可以阅读如下所示的文件:

<?php

use PhalconConfigAdapterIni as ConfigIni;

$config = new ConfigIni("path/config.ini");

echo $config->phalcon->controllersDir, "n";
echo $config->database->username, "n";
echo $config->models->metadata->adapter, "n";

合并配置(Merging Configurations)

PhalconConfig 允许合并配置对象到另一个:

<?php

use PhalconConfig;

$config = new Config(
    array(
        'database' => array(
            'host'   => 'localhost',
            'dbname' => 'test_db'
        ),
        'debug' => 1
    )
);

$config2 = new Config(
    array(
        'database' => array(
            'dbname'   => 'production_db',
            'username' => 'scott',
            'password' => 'secret'
        ),
        'logging' => 1
    )
);

$config->merge($config2);

print_r($config);

上面的代码会产生以下内容:

PhalconConfig Object
(
    [database] => PhalconConfig Object
        (
            [host] => localhost
            [dbname]   => production_db
            [username] => scott
            [password] => secret
        )
    [debug] => 1
    [logging] => 1
)

有更多的适配器可用于这个组件: Phalcon Incubator

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务