Class Phalcon\Config\Adapter\Grouped

Código fuente en GitHub

Namespace Phalcon\Config\Adapter   Uses Phalcon\Config\Config, Phalcon\Config\ConfigFactory, Phalcon\Config\ConfigInterface, Phalcon\Config\Exception, Phalcon\Factory\Exception   Extends Config

Lee múltiples ficheros (o vectores) y los combina todos juntos.

See Phalcon\Config\ConfigFactory::load To load Config Adapter class using ‘adapter’ option.

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",
            ],
        ],
    ],
);

Métodos

public function __construct( array $arrayConfig, string $defaultAdapter = string );

Constructor Phalcon\Config\Adapter\Grouped

Class Phalcon\Config\Adapter\Ini

Código fuente en GitHub

Namespace Phalcon\Config\Adapter   Uses Phalcon\Config\Config, Phalcon\Config\Exception, Phalcon\Support\Traits\PhpFileTrait   Extends Config

Reads ini files and converts them to Phalcon\Config\Config objects.

Dado el siguiente fichero de configuración:

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

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

Puede leerlo de la siguiente manera:

use Phalcon\Config\Adapter\Ini;

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

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

Las constantes PHP también se pueden analizar en el fichero ini, así que si define una constante como un valor ini antes de llamar al constructor, el valor de la constante será integrada en los resultados. Para usarlo de esta forma debe especificar el segundo parámetro opcional como INI_SCANNER_NORMAL cuando llame al constructor:

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

Métodos

public function __construct( string $filePath, int $mode = int );

Constructor Ini.

protected function cast( mixed $ini ): bool | null | double | int | string;

Tenemos que convertir valores manualmente porque parse_ini_file() tiene una implementación pobre.

protected function castArray( array $ini ): array;
protected function parseIniString( string $path, mixed $value ): array;

Construye un vector multidimensional desde una cadena

protected function phpParseIniFile( string $filename, bool $processSections = bool, int $scannerMode = int );

@todo to be removed when we get traits

Class Phalcon\Config\Adapter\Json

Código fuente en GitHub

Namespace Phalcon\Config\Adapter   Uses InvalidArgumentException, Phalcon\Config\Config   Extends Config

Reads JSON files and converts them to Phalcon\Config\Config objects.

Dado el siguiente fichero de configuración:

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

Puede leerlo de la siguiente manera:

use Phalcon\Config\Adapter\Json;

$config = new Json("path/config.json");

echo $config->phalcon->baseuri;
echo $config->models->metadata;

Métodos

public function __construct( string $filePath );

Constructor Phalcon\Config\Adapter\Json

Class Phalcon\Config\Adapter\Php

Código fuente en GitHub

Namespace Phalcon\Config\Adapter   Uses Phalcon\Config\Config   Extends Config

Reads php files and converts them to Phalcon\Config\Config objects.

Dado el siguiente fichero de configuración:

<?php

return [
    "database" => [
        "adapter"  => "Mysql",
        "host"     => "localhost",
        "username" => "scott",
        "password" => "cheetah",
        "dbname"   => "test_db",
    ],
    "phalcon" => [
        "controllersDir" => "../app/controllers/",
        "modelsDir"      => "../app/models/",
        "viewsDir"       => "../app/views/",
    ],
];

Puede leerlo de la siguiente manera:

use Phalcon\Config\Adapter\Php;

$config = new Php("path/config.php");

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

Métodos

public function __construct( string $filePath );

Constructor Phalcon\Config\Adapter\Php

Class Phalcon\Config\Adapter\Yaml

Código fuente en GitHub

Namespace Phalcon\Config\Adapter   Uses Phalcon\Config\Config, Phalcon\Config\Exception   Extends Config

Reads YAML files and converts them to Phalcon\Config\Config objects.

Dado el siguiente fichero de configuración:

phalcon:
  baseuri:        /phalcon/
  controllersDir: !approot  /app/controllers/
models:
  metadata: memory

Puede leerlo de la siguiente manera:

define(
    "APPROOT",
    dirname(__DIR__)
);

use Phalcon\Config\Adapter\Yaml;

$config = new Yaml(
    "path/config.yaml",
    [
        "!approot" => function($value) {
            return APPROOT . $value;
        },
    ]
);

echo $config->phalcon->controllersDir;
echo $config->phalcon->baseuri;
echo $config->models->metadata;

Métodos

public function __construct( string $filePath, array $callbacks = null );

Constructor Phalcon\Config\Adapter\Yaml

protected function phpExtensionLoaded( string $name ): bool;
protected function phpYamlParseFile( mixed $filename, mixed $pos = int, mixed $ndocs = null, mixed $callbacks = [] );

@todo to be removed when we get traits

Class Phalcon\Config\Config

Código fuente en GitHub

Namespace Phalcon\Config   Uses Phalcon\Support\Collection   Extends Collection   Implements ConfigInterface

Phalcon\Config está diseñado para simplificar el acceso a, y el uso de, los datos de configuración de las aplicaciones. Proporciona una propiedad de objeto anidado basada en interfaz de usuario para acceder a estos datos de configuración dentro del código de la aplicación.

$config = new \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/",
        ],
    ]
);

@property string $pathDelimiter

Constantes

const DEFAULT_PATH_DELIMITER = .;

Propiedades

/**
 * @var string
 */
protected pathDelimiter;

Métodos

public function getPathDelimiter(): string;

Devuelve el delimitador de ruta por defecto

public function merge( mixed $toMerge ): ConfigInterface;

Combina una configuración con la actual

$appConfig = new \Phalcon\Config\Config(
    [
        "database" => [
            "host" => "localhost",
        ],
    ]
);

$globalConfig->merge($appConfig);
public function path( string $path, mixed $defaultValue = null, string $delimiter = null ): mixed;

Devuelve un valor de la configuración actual usando una ruta separada por puntos.

echo $config->path("unknown.path", "default", ".");
public function setPathDelimiter( string $delimiter = null ): ConfigInterface;

Establece el delimitador de la ruta predeterminada

public function toArray(): array;

Convierte recursivamente el objeto a un vector

print_r(
    $config->toArray()
);
final protected function internalMerge( array $source, array $target ): array;

Ejecuta una combinación recursivamente

protected function setData( mixed $element, mixed $value ): void;

Establece los datos de la colección

Class Phalcon\Config\ConfigFactory

Código fuente en GitHub

Namespace Phalcon\Config   Uses Phalcon\Config\Config, Phalcon\Config\ConfigInterface, Phalcon\Factory\AbstractFactory   Extends AbstractFactory

Carga la clase Config Adapter usando la opción ‘adapter’, si no se proporciona ninguna extensión será añadirá al filePath

use Phalcon\Config\ConfigFactory;

$options = [
    "filePath" => "path/config",
    "adapter"  => "php",
];

$config = (new ConfigFactory())->load($options);

Métodos

public function __construct( array $services = [] );

Constructor ConfigFactory.

public function load( mixed $config ): ConfigInterface;

Carga una configuración para crear una nueva instancia

public function newInstance( string $name, string $fileName, mixed $params = null ): ConfigInterface;

Devuelve una nueva instancia de configuración

protected function getExceptionClass(): string;
protected function getServices(): array;

Devuelve los adaptadores disponibles

protected function parseConfig( mixed $config ): array;

Interface Phalcon\Config\ConfigInterface

Código fuente en GitHub

Namespace Phalcon\Config   Uses Phalcon\Support\Collection\CollectionInterface   Extends CollectionInterface

Phalcon\Config\ConfigInterface

Interface for Phalcon\Config\Config class

Métodos

public function getPathDelimiter(): string;
public function merge( mixed $toMerge ): ConfigInterface;
public function path( string $path, mixed $defaultValue = null, string $delimiter = null ): mixed;
public function setPathDelimiter( string $delimiter = null ): ConfigInterface;

Class Phalcon\Config\Exception

Código fuente en GitHub

Namespace Phalcon\Config   Extends \Exception

Las excepciones lanzadas en Phalcon\Config usarán esta clase