Статьи

Начало работы с CakePHP

CakePHP — это фреймворк с открытым исходным кодом для PHP, предназначенный для упрощения разработки, развертывания и поддержки приложений. CakePHP предлагает много полезных шаблонов проектирования, таких как шаблон Model-View-Controller, который можно увидеть в других популярных средах, таких как Ruby On Rails . Среда CakePHP также предоставляет множество ценных библиотек многократного использования для решения общих задач. Примером является «Inflector» (подпрограмма, которая принимает строку и обрабатывает множественное число).

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

Значительное количество времени на разработку с PHP тратится на переписывание общего кода для рутинных операций, таких как доступ к базе данных или возврат данных в браузер. Конечно, весь этот обычный код может быстро дезорганизоваться в традиционных приложениях PHP. Необходима среда для PHP, которая делает то же, что и Ruby On Rails для Ruby.

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

Ниже приведены лишь несколько вещей, которые CakePHP предлагает для облегчения разработки.

  • Бесплатная лицензия MIT с открытым исходным кодом, позволяющая использовать приложения CakePHP в любых ваших собственных проектах.
  • Совместимость с PHP4 и PHP5. Минимальная необходимая версия — 4.3.2.
  • Поддержка MySQL, PostgreSQL SQLite, PEAR-DB и оболочек для ADODB , библиотеки абстракций базы данных.
  • Макет Модель-Вид-Контроллер.
  • Easy CRUD (создание, чтение, обновление и удаление) взаимодействия с базой данных.
  • Леса для экономии производственного времени.
  • Поисковая система.
  • Укажите средства проверки и дезинфекции, чтобы сделать ваши приложения намного более безопасными.
  • Шаблонирование со знакомым синтаксисом PHP.
  • Операции кэширования.

Перед началом разработки с CakePHP вам понадобится ваша собственная копия платформы, загруженная на ваш сервер. Посетите CakePHP.org и нажмите большую кнопку «Скачать». Обязательно загрузите стабильную версию, а не версию-кандидата. Есть также много различных форматов файлов, так что вы можете выбрать лучший для вашего компьютера.

Как только вы получите свежую копию CakePHP из духовки, следующий шаг — загрузить копию в веб-пространство с поддержкой PHP и MySQL. Я бы порекомендовал создать новый каталог для проектов CakePHP.

После завершения загрузки структура каталогов должна выглядеть примерно так:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
/path_to_root_folder
    /cake/
    /docs/
    /app/
     
            config/
        controllers/
        models/
        plugins/
        tmp/
        vendors/
        views/
        webroot/
        index.php
        .htaccess
         
    /vendors/
    index.php
    .htaccess

Поначалу все эти каталоги или папки могут показаться немного сложными, но отдельные каталоги предназначены для лучшей организации всех компонентов инфраструктуры. Поскольку такие имена, как «tmp», не говорят сами за себя, вот для чего эти папки:

  • В папке « торт » хранятся все основные функции и внутренние компоненты CakePHP. Вам обычно не нужно ничего редактировать здесь.
  • Папка docs содержит очень мало информации, но содержит информацию о лицензии (COPYING.txt), журнал изменений и некоторые другие полезные файлы. Этот каталог не важен для запуска CakePHP, поэтому вы можете удалить его, если хотите.
  • Папка приложения — это место, куда пойдет код вашего приложения. Папка приложения будет содержать ваши контроллеры, конфигурацию, шаблоны и многое другое.
    • Папка config содержит все файлы конфигурации для приложения. Это включает в себя детали базы данных, список доступа, перегибы и маршруты (перезапись URL).
    • В папке models хранятся все функции базы данных sql для вашего приложения.
    • В папке views хранятся все шаблоны, макеты (верхний и нижний колонтитулы) и вспомогательные модули, которые поддерживают функциональность (например, AJAX).
    • В папке контроллеров хранятся все контроллеры для вашего приложения. Контроллер — это часть приложения, которая направляет и управляет моделью и представлениями, принимая входные данные и решая, что с ними делать.
    • В папке плагинов хранятся плагины, представляющие собой комбинацию моделей, представлений и контроллеров, которые можно упаковать и использовать в других приложениях. Примерами являются модули управления пользователями или модуль RSS.
    • В папке tmp хранятся файлы кэша, сгенерированные системой кэширования, а также журналы отладки. Эта папка будет очень ценной при разработке.
    • Папка vendors может содержать другие библиотеки, которые вы хотите включить в конкретное приложение.
    • В папке webroot хранятся статические носители, такие как CSS, изображения и JavaScript, необходимые для вашего приложения.
  • Второй каталог поставщиков позволит вам хранить сторонние библиотеки и подключаться к ним с ваших контроллеров CakePHP. Например, если мы хотим создать приложение Facebook с CakePHP, мы можем зайти в библиотеку Facebook и настроить CakePHP для его загрузки.

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

В целях разработки вы должны создать новую базу данных и пользователя со следующими привилегиями: ALTER, CREATE TEMPORARY TABLES, CREATE, DELETE, DROP, SELECT, INSERT, UPDATE, REFERENCES, INDEX, LOCK TABLES.

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

Откройте и прокрутите вниз до следующего массива

1
2
3
4
5
6
7
var $default = array(‘driver’ => ‘mysql’,
            ‘connect’ => ‘mysql_connect’,
            ‘host’ => ‘localhost’,
            ‘login’ => ‘user’,
            ‘password’ => ‘password’,
                ‘database’ => ‘project_name’,
            ‘prefix’ => »);

и заполните ваши данные базы данных по мере необходимости. Если по какой-либо причине вы не можете создать новую базу данных или ваш хост не разрешает ее, вы можете установить префикс таблицы для всех ваших таблиц CakePHP, установив значение в индексе ‘prefix’. Обязательно переименуйте этот файл в /app/config/database.php

Дополнительная конфигурация ядра находится в /app/config/core.php. Вы можете изменить уровень отладочной информации, порядок хранения сеансов, тайм-ауты сеансов для обеспечения безопасности и имена файлов cookie. Как только мы начнем разработку, нам, возможно, придется скорректировать их, но значения по умолчанию подходят для большинства потребностей.

После того, как вы ввели правильные данные базы данных и загрузили все файлы CakePHP, установка должна быть готова к разработке. Укажите в браузере папку, в которую вы загрузили установку. Если все работает, вы должны увидеть следующую страницу успеха:

Это руководство предназначено для ознакомления с основами CakePHP и с тем, как его установить и запустить на вашем сервере. В следующих выпусках мы рассмотрим разработку приложения с нуля с использованием CakePHP, добавление эффектов, таких как AJAX, и интеграцию CakePHP с другими библиотеками и сервисами, такими как Facebook.