freedev.asia Свободное програмное обеспечение, для свободных людей!

15Ноя/110

Одно ядро CakePHP — много проектов

Posted by sergey

Передо мной была поставлена поставлена задача - с помощью одного ядра CakePHP обрабатывать несколько приложений - папок app. Нечто подобное есть в официальной документации book.cakephp.org но как выяснилось это всего лишь разбрасывание файлов с библиотеками по файловой системе. Затем я начал копать в сторону .htaccess и у меня получилось нечто подобное:

<ifmodule mod_rewrite.c>

RewriteEngine on
&amp;amp;amp;amp;amp;nbsp;
RewriteCond %{HTTP_HOST}  ^test\.name.*
RewriteRule    ^$ app-test/webroot/    [L]
RewriteCond %{HTTP_HOST}  ^test\.name.*
RewriteRule    (.*) app-test/webroot/$1 [L]
&amp;amp;amp;amp;amp;nbsp;

RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</ifmodule>

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

1Июл/113

Локализация в CakePHP. Перевести статический текст на казахский язык.

Posted by lener

Создать сайт на нескольких языках в СakePHP достаточно легко, используя заранее определенные в библиотеках локали для интернационализации. Список локалей довольно обширен и соответствует стандарту ISO  639-3 (Таблица кодов языков), но при этом не содержит определения казахского языка. Как же быть, когда необходимо чтобы сайт поддерживал, к примеру - русский(ru) и казахский (kk) языки. Ведь это один из самых распространенных вариантов сайтов в сети Казнэта.

Реализовать это достаточно просто, пусть и не совсем правильно. После прочтения прошу пирожками не закидывать ...  :)

22Июн/110

Cекреты Admin Routing в CakePHP

Posted by lener

В CakePHP администратор маршрутов (admin routing) довольно прост: вы можете включить его, вы можете отключить его, вы можете изменить преффикс для него.  Но это не все действия, которые вы можете провести с ним. Правильно?

Я собираюсь рассказать маленький секрет про этот кусок кода:


Configure::write('Routing.admin', 'admin');
20Июн/110

CakePHP 1.3 — Как подружить плагин и тему

Posted by lener

Тема для оформления страниц

Шаблон темы с урока 9 на ruseller.com

Пользоваться темами(Themes) в CakePHP 1.3 я начала сравнительно недавно и сразу оценила их простоту и удобство. Не нужно пересматривать код по несколько раз для разных проектов, достаточно просто создать дополнительную тему, разместить в нее необходимые вьювы и все пойдет ка по маслу.

Очень понравилась статья на ruseller.com - "CakePHP с нуля: создаем тему. Часть 9 из 10". Хоть я и не пользовалась уроками с 1го по 9й, но вот сам 9й зацепил - просто и понятно. В продолжение темы, может быть как урок 9.1 хотела немного углубить познания, или осветить вопрос, как же подружить Тему и Плагин.

30Май/111

Бехавер транзакций для CakePHP 1.3

Posted by sergey

Одно из отличиев версий 1.2 и 1.3 в том что в 1.3 из ядра был убран бехавер с транзакциями. Теперь необходимо для использования транзакций сначала получить из модели источник данных (DataSource), а затем через него открывать транзакцию. Поскольку при переносе одного из проектов на версию 1.3 мне необходимо было бы отыскивать во всему прикладу эти вызовы (а они использовались часто), то я решил реализовать этот бехавер для 1.3.

29Май/114

Конфиги в CakePHP из базы данных

Posted by sergey

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

Метки записи: , Читать полностью
15Дек/108

setFlash сообщения в CakePHP используя эффекты jQuery

Posted by sergey

Всем привет, я хочу рассказать как можно изменить вид для сообщений setflash в CakePHP. Я не могу сказать что это сильно отличается от стандартных элементов, но я добавил CSS и jQuery эффекты. Теперь это смотрится иначе, не как обычное сообщение CakePHP. И так за дело.

14Дек/101

Настройка Eclipse 3.6 для работы с CakePHP 1.3

Posted by sergey

В сети есть множество статей которые описывают как можно лучше настроить Eclipse для работы с CakePHP - но все они устарели или описывают только часть настроек. Я потратил время на настройку своей среды и описал это в своем блоге. Здесь описаны все шаги которые я сделал для моих любимых настроек. Я использую Ubuntu 10.10 64bit, но это описание должно работать и на других системах. Вам понадобится распакованный CakePHP 1.3.X.

26Май/101

Работа с файлами в CakePHP

Posted by sergey

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

И так, начнем...

26Май/100

CakePHP — Структура плагина или как создать свой первый плагин

Posted by lener

В последнее время мне все больше и плотнее приходится работать с фреймворком cakePHP. И с каждым разом он не перестает удивлять своей замечательной подборкой модулей и возможностью расширений.

В этот раз меня привлекло использование плагинов, которые достаточно универсальны и просты в написании и использовании. И что самое главное - плагин может использоваться многократно в разных проектах. Можно сказать что это и есть удобство хранения и переноса ваших модулей.

Использовать плагины можно в различных комбинациях. Плагин - это как мини-приложение в вашем проекте. Он связан с ним только конфигурационными файлами - соединение с БД database.ctp и настройка роутов routers.ctp, которые при желании можно же конечно переопределить в самом плагине .. ;) Вот примерно такая типовая структура будет у всех плагинов, за исключением ненужных модулей.

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