Свежайшие Пирожки от CakePHP по-русски

Полнейшее руководство CakePHP 1.2 на русском языке, горячие новости и полезные статьи

Конфигурация Базы Данных

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

Простой текст
  1. var $default = array('driver' => 'mysql',
  2. 'persistent' => false,
  3. 'host' => 'localhost',
  4. 'login' => 'cakephpuser',
  5. 'password' => 'c4k3roxx!',
  6. 'database' => 'my_cakephp_project',
  7. 'prefix' => '');

Массив соеинения $default  используется пока другой тип соединения не определен в свойстве модели $useDbConfig. Например, если мое приложение имеет в еще одну БД (legacy), в дополнение к основной. Чтобы я мог использовать ее в своих Моделях, нужно создать новое соединения  к БД  $legacy аналогично массиву $default и указать его в свойствах необходимых моделей (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 и Flavo, вы назовете ее  prefix_apples_flavors (не prefix_apples_prefix_flavors) и укаже в настройках префикс 'prefix_'.

Этот момент подразумевает, что вы ознакомились с разделом  Соглашения CakePHP. Правильное именование ваших таблиц (и их колонок) избавит вас он лишнего конфигурирования. Например, если вы назвали вашу талицу big_boxes, ваша Модель BigBox, ваш Контроллер BigBoxesController - все будет работать между собой автоматически. Согласно соглашению используйте нижнее подчеркивание "_", нижний регистр букв и слова во множественом числе в именах таблиц вашей базы данных - например: bakers, pastry_stores, and savory_cakes.