domingo, 18 de janeiro de 2009

Arquivos de configuração .ini no PHP

Arquivos .ini no PHP

Autor: João Pinto Neto
E-mail: joaopintoneto (arroba) gmail (ponto) com



Um exemplo bem prático de como utilizar arquivos de configuração .ini lendo suas propriedades em um array. Com poucas linhas de código faremos com que a classe Config, atravéz do método estático getConfigFiles(), leia o diretório /Config/ da aplicação. O outro método (parseConfigFile()), faz um parse de um arquivo .ini que for informado o path (caminho completo), retornando um array com os parâmetros desse arquivo .ini.

Config.class.php:

<?php
final class Config
{

static public function getConfigFiles()
{
$configFiles = glob('Config/*.{ini}', GLOB_BRACE);

if (count($configFiles) <= 0)
{
return false;
}

$callback = create_function('$file', 'return array(basename($file, ".ini") => $file);');

$configFiles = array_map($callback, $configFiles);

foreach ($configFiles as $oldKey => $oldValue)
foreach ($oldValue as $newKey => $newValue)
$return[strtolower($newKey)] = $newValue;

return $return;
}

static public function parseConfigFile($configFile)
{
return parse_ini_file($configFile, true);
}
}

/**
* Aqui, a forma de usar:
*/
$configFiles = Config::getConfigFiles();

// debug
print_r($configFiles);

foreach ($configFiles as $file) {
$configVars = Config::parseConfigFile($file);
}
?>


para usar:
- Copie o código acima e salve como Config.class.php
- No mesmo diretório, crie uma pasta de nome: Config
- Entre no diretório config e crie um arquivo .ini (salve como qualquer_nome.ini)
- Coloque alguns parâmetros, ex:

; Comentários com (ponto e vírgula)
; arquivo .ini
; qualquer_nome.ini
; ----------------------

app_name=teste
app_version=1.0



É isso!
Espero que gostem.
Abraços

Nenhum comentário: