Как создать файл конфигурации в Laravel 4?


я Хочу знать, как создавать, импортировать и использовать новые файлы конфигурации в проекте Laravel 4.

С этим, я хочу сказать, что файлы проекта и собственные параметры. Например: я Хотел бы создать файл, который имеет некоторые статические сведения проекта, без необходимости сохранения их в базе данных.

Например:

<?php 
  $config = array(
    'titulo_padrao' => 'Site do João',
    'meta_keywords' => 'palavra1, palavra2, palavra3',
    'meta_description' => 'Dramatically repurpose covalent niches vis-a-vis resource sucking benefits. Authoritatively productize.',
    'script_ga' => 'script_aqui',
    'grupo_administradores' => array(1,2,3),
    'grupo_usuarios' => array(4,5),
    'etc' => '...'
  );
?>
Author: Wallace Maxters, 2013-12-16

5 answers

Вы можете создавать файлы в папке настроек, nome_do_seu_arquivo.php и получить доступ к свойствам через:

Config::get('nome_do_seu_arquivo.nome_da_propriedade');

:

Config::get('nome_do_seu_arquivo.nome_do_array_da_propriedade.nome_da_propriedade');
 11
Author: Flávio H. Ferreira, 2013-12-22 20:57:03

Создайте файл php в папке app/config/myconfig.php, (можно любое имя):

<?php 
  return  array(
    'titulo_padrao' => 'Site do João',
    'meta_keywords' => 'palavra1, palavra2, palavra3',
    'meta_description' => 'Dramatically repurpose covalent niches vis-a-vis resource sucking benefits. Authoritatively productize.',
    'script_ga' => 'script_aqui',
    'grupo_administradores' => array(1,2,3),
    'grupo_usuarios' => array(4,5),
    'etc' => '...'
  );

Для доступа к информации, используйте:

Config::get('myconfig.titulo_padrao');

Для более подробной информации http://laravel.com/docs/configuration

 7
Author: Valmir Barbosa, 2013-12-22 20:48:36

Я сделал это, когда мне пришлось:

<?php
/*
|---------------------------------------------------
| File: application/config/_sysvars.php
|---------------------------------------------------
|
| Configurações estáticas para uso no site
*/

return array(
    //=========== Configurações principais===========//
    //Email cadastrado no PagSeguro e outros sistemas de recebimento.
    'email_pagseguro' => "[email protected]",
    //Identificador Paypal
    'email_paypal' => "[email protected]",
    //Identificador Moip
    'email_moip' => "[email protected]",
    //Site Title:
    'title' => 'Dummy Hans - LARAVEL',
);
?>

В контроллер:

<?php
/*
|---------------------------------------------------
| File: application/controller/HomeController.php
|---------------------------------------------------
|
| Controler para a Home.
*/
class HomeController extends BaseController {

    /* The layout that should be used for responses.
     */
    protected $layout = 'layouts.master';

    public function showHome() {

        $sysvars = Config::get('_sysvars'); //esta na pasta app/config/_sysvars.php

        foreach ($sysvars as $key => $value ) {
            $data["$key"]=$value;
        }
        //dd($data);

        //Renderiza a view v_home
        $this->layout->content = View::make('v_home',$data);
    }
}
?>
 2
Author: Hans Zimermann, 2013-12-22 21:04:29

Обратите Внимание, что, для того чтобы изменить эти параметры, Config::set() не будет сохранить файл, как могли бы ожидать.

Ты должен реализовать это в счет, и если, рассматривая файлы конфигурации в PHP, где, как правило, если вы хотите сохранить возможных комментариев, это может стать сложным. В случае отсутствия комментариев, var_export() этого будет достаточно.

, если вы хотите сохранить на комментарии (желательно при изменении файлов конфигурации Laravel, например), рекомендуется использовать пакет Laravel Setting, устанавливаемый самим Composer. Он позволяет создавать, читать, изменять и удалять политик собственные параметры с помощью файла JSON, обладая еще fallback политик параметры по умолчанию (файлы PHP).

 0
Author: Paulo Freitas, 2013-12-22 21:20:31

Дополняя ответы, для тех, кто не следует добросовестно стандартная структура Framework. Итак, у меня есть папка "домена" приложения, который наследует его имя, например:

- app
    - Acme
        - Config
        - Models
        - Repositories
        - Services
        - Queues
        - ...
    - storages
    - tests
    - config        
    - ...

Обратите внимание, что внутри Acme у меня есть папка Config. Таким образом, я могу отделить параметры компонентов Framework с до логики моего приложения. app/config, сохраняется, с учетом всех параметров по умолчанию.

, Чтобы сделать Framework понимать, что Acme/Config - пространство имен "файлы конфигурации", вы можете добавить следующую строку в конце файла app/start/global.php:

/*
|--------------------------------------------------------------------------
| Acme Config Namespace
|--------------------------------------------------------------------------
*/

Config::addNamespace('Acme', app_path('Acme/Config'));

, Сделали это, давайте предположим, что у вас есть этот файл конфигурации:

- app
    - Acme
        - Config
            - social.php

Вы можете получить доступ к нему, например, следующим образом:

\Config::get('Acme::social.facebook');

Acme:: это, чтобы указать пространство имен, в котором Framework нужно искать файл конфигурации. social - это имя файла, и facebook ключ массива.

 0
Author: Kennedy Tedesco, 2014-01-13 13:37:37