Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/Developing/Configuration ...
Это старая версия Manual/Developing/Configuration за 2007-12-13 23:14:11..

Настройка

Оглавление документа

Настройка базы данных


CakePHP ожиданные что данные о настройке подключения к базе данных будут располагаться в файле app/config/database.php. Файл с образцом настройки располагает по адресу app/config/database.php.default. Файл с готовой конфигурацией должен выглядеть так:


var $default = array('driver'      => 'mysql',
                     'persistent'  => false,
                     'host'        => 'localhost',
                     'login'       => 'cakephpuser',
                     'password'    => 'c4k3roxx!',
                     'database'    => 'my_cakephp_project',
                     'prefix'      => '');

Пример конфигурации базы данных

Если в модели не объявлена переменная $useDbConfig с названием используемых параметров подключения, то CakePHP будет использовать настройки определенные в массиве с названием $default. Например, если моему приложению требуется подключиться к еще одной базе данных, помимо основной, то я просто могу создать еще один массив с настройками (например $legacy) аналогичный по структуре массиву по умолчанию и в модели объявить, что хочу работать с другой базой данных так: var $useDbConfig = 'legacy';.


Замените пары ключ/значение в массиве настроек на ваши.
Ключ
Значение
driver

Имя драйвера базы данных для этой конфигурации.


Например: mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle или odbc.

persistentБудет ли использоваться постоянное соединение с базой данных
hostИмя сервера, на котором расположена база данных (или его IP)
loginЛогин для доступа к базе данных
passwordПароль доступа к базе данных
databaseИмя базы данных для текущего соединения
prefix (опционально)Cake будет счиать что все таблицы относящиеся к нему имеют этот префикс. Если префикс не используется — оставьте пустую строку.
port (опционально)TCP порт или сокет Unix, который используется для доступа к базе данных.
encodingУказывает в какой кодировке отправлять запросы к базе данных
schemaИспользуется в базе данных PostgreSQL, указыает на то какая схема используется

Заметим, что параметр prefix актуален для таблиц, а не Моделей. Например, если вы создаете таблицу для объединения двух ваших моделей Apple и Flavor, то таблица должна называться prefix_apples_flavors (не prefix_apples_prefix_flavors), а в настройках соединения указан ключ prefix со значением 'prefix_'.


Сейчас вы можете взглянуть в раздел Соглашения, который недавно прочитали. Правильное название для вашей таблицы (а так же некоторых колонок) облегчит разработку и поможет вам избежать лишних настроек.

Настройка ядра


Настройки конфигурации CakePHP расположены в файле /app/config/core.php. Этот файл содержит переменные и константы класса Configure, которые определяют поведение вашего приложения. Прежде чем погрузиться в детали настроек, вы должны ознакомиться с классом Configure.

Класс конфигурации


Не смотря на то, что большинство настроек в CakePHP уже предустановлены, бывает полезно иметь свой вариант конфигурации. Раньше, для того чтобы настроить Cake, необходимо было указать значения разных переменных в нескольких файлах. Разумеется, при каждом обращении приходилось все эти файлы загружать.


Новый класс Configure может использоваться для хранения любых значений. Будьте острожны — этот класс может хранить что угодно и давать доступ к этим данным из любой части приложения — прекрасное искушение к тому чтобы разорвать шаблон MVC. Основная цель этого класса, все же, хранить ту информацию, которая должна быть доступна максимальному количеству файлов вашего приложения.


Этот класс действует как одиночка и его методы могут быть вызваны из любой точки вашего приложения.


<?php Configure::read('debug'); ?>

Методы конфигурации

write(string $key, mixed $value)

Используйте write() чтобы сохранить данные в конфигурации приложения.


<?php
    Configure
::write('Company.name','Pizza, Inc.');
    
Configure::write('Company.slogan','Pizza for your body and soul');
?>


Примечание: используйте точку в параметре $key. Это поможет вам разграничить конфигурацию на логические группы.


Приведенный выше пример может быть так же записан при помощи одного вызова.


<?php
    Configure
::write(
        
'Company',array('name'=>'Pizza, Inc.','slogan'=>'Пицца для вашего тела и души')
    );
?>


Вы можете использовать Configure::write('debug', $int) для того чтобы переключаться между режимами отладки на лету. Особенно полезно это для AMF или SOAP, где отладочная информация может вызывать большие проблемы разбора содержимого.

read(string $key = 'debug')

Используйте метод read() для того чтобы читать конфигурационную информацию. По умолчанию CakePHP возвращает информацию об уровне отладки, если параметр не передан. Используя наши примеры выше для функции write(), мы можем получить наши данные обратно.


<?php
    Configure
::read('Company.name');    //вернет: 'Pizza, Inc.'
    
Configure::read('Company.slogan');  //вернет: 'Пицца для вашего тела и души'
 
    
Configure::read('Company');
    
//вернет:
    
array('name' => 'Pizza, Inc.''slogan' => 'Пицца для вашего тела и души');
?>


Продолжение следует
Точно-точно :-)

 
Комментарии
Добавить комментарий:

Файлов нет. [Показать файлы/форму]