跳转到内容

Phalcon配置

注意

所有类都以前缀命名Phalcon

Config\Adapter\Grouped

GitHub上的源码

  • 命名空间

    • Phalcon\Config\Adapter
  • 使用

    • Phalcon\Config\Config
    • Phalcon\Config\ConfigFactory
    • Phalcon\Config\ConfigInterface
    • Phalcon\Config\Exception
    • Phalcon\Factory\Exception
  • 继承

    Config

  • 实现

读取多个文件(或数组)并将它们合并在一起。

查看Phalcon\Config\ConfigFactory::load使用'adapter'选项加载Config适配器类。

use Phalcon\Config\Adapter\Grouped;

$config = new Grouped(
    [
        "path/to/config.php",
        "path/to/config.dist.php",
    ]
);
use Phalcon\Config\Adapter\Grouped;

$config = new Grouped(
    [
        "path/to/config.json",
        "path/to/config.dist.json",
    ],
    "json"
);
use Phalcon\Config\Adapter\Grouped;

$config = new Grouped(
    [
        [
            "filePath" => "path/to/config.php",
            "adapter"  => "php",
        ],
        [
            "filePath" => "path/to/config.json",
            "adapter"  => "json",
        ],
        [
            "adapter"  => "array",
            "config"   => [
                "property" => "value",
            ],
        ],
    ],
);

方法

public function __construct( array $arrayConfig, string $defaultAdapter = string );
Phalcon\Config\Adapter\Grouped构造函数

Config\Adapter\Ini

GitHub上的源码

  • 命名空间

    • Phalcon\Config\Adapter
  • 使用

    • Phalcon\Config\Config
    • Phalcon\Config\Exception
    • Phalcon\Support\Traits\PhpFileTrait
  • 继承

    Config

  • 实现

读取ini文件并将其转换为Phalcon\Config\Config对象。

给定以下配置文件:

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

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

您可以按如下方式读取它:

use Phalcon\Config\Adapter\Ini;

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

echo $config->phalcon->controllersDir;
echo $config->database->username;

INI文件中也可以解析PHP常量,因此如果在调用构造函数之前将常量定义为INI值,则常量的值将被集成到结果中。要以这种方式使用它,必须将可选的第二个参数指定为INI_SCANNER_NORMAL调用构造函数时:

$config = new \Phalcon\Config\Adapter\Ini(
    "path/config-with-constants.ini",
    INI_SCANNER_NORMAL
);

方法

public function __construct( string $filePath, int $mode = int );
Ini构造函数。

protected function cast( mixed $ini ): mixed;
我们必须手动转换值,因为parse_ini_file()的实现较差。

protected function castArray( array $ini ): array;

protected function parseIniString( string $path, mixed $value ): array;
从字符串构建多维数组

protected function phpParseIniFile( string $filename, bool $processSections = bool, int $scannerMode = int );
@todo 当我们获取 traits 时将被移除

Config\Adapter\Json

GitHub上的源码

  • 命名空间

    • Phalcon\Config\Adapter
  • 使用

    • Phalcon\Config\Config
    • Phalcon\Support\Helper\Json\Decode
  • 继承

    Config

  • 实现

读取JSON文件并将其转换为Phalcon\Config\Config对象。

给定以下配置文件:

{"phalcon":{"baseuri":"\/phalcon\/"},"models":{"metadata":"memory"}}

您可以按如下方式读取它:

use Phalcon\Config\Adapter\Json;