Как стать автором
Обновить
0

CakePHP *

Программный каркас для создания веб-приложений

Сначала показывать
Порог рейтинга
Уровень сложности

Все еще торт, часть 3.0.0

Время на прочтение19 мин
Количество просмотров18K
Наконец-то вышел в релиз CakePHP 3.0.0.

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


Читать дальше →

Новости

Повышаем стабильность сессии в CakePHP 2.x

Время на прочтение6 мин
Количество просмотров4K
От переводчика: при разработке Web-payment.ru на фреймворке CakePHP мы сталкивались с самого начала с тем, что логаут пользователей происходил каждые несколько часов, а это слишком короткий промежуток времени. При этом сколь большие значения timeout и cookieTimeout мы бы не выставляли в настройках ядра, ничего не менялось. Данная статья решила для нас эту проблему.

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

В документации Cake также не говорится, что для длительной работы php-сессий необходимо увеличить значение внутренней переменной max_lifetime. Я вообще наткнулся на нее случайно, потому что всегда думал, что об этом позаботился сам фреймворк, однако даже после того, как я сделал базу данных контейнером сессий, я не заметил каких-либо улучшений. Поэтому я подумал, что чистка памяти на стороне сервера здесь, видимо, вообще не причем, ну или по крайней мере, влияет не только она одна.
Читать дальше →

Что нового в CakePHP 3.0.0?

Время на прочтение6 мин
Количество просмотров10K
Здравствуйте, уважаемые читатели. В данной статье хотелось бы написать о новой версии CakePHP и возродить интерес к этому замечательному PHP фреймворку. Последняя заметка в блоге о CakePHP датирована почти годом назад и многие могли подумать, что фреймворк прекратил своё существование, однако это не так. Он очень активно развивается и весьма популярен в западных странах и его используют такие компании, как BMW и Hyundai.

Текущая стабильная версия CakePHP – 2.5.5. Давайте кратко посмотрим, какие возможности предоставляет этот фреймворк сейчас, а затем подробно остановимся на новинках, которые появятся в 3.0.0.
Читать дальше →

Валидатор HTML-форм

Время на прочтение3 мин
Количество просмотров9.5K
Доброго времени суток уважаемый %username%.

Каждый программист хоть раз в своей жизни сталкивался с унаследованным кодом. Иногда такой код вызывает реакцию: «Что это за дрянь|лапша|говнокод, давайте его перепишем».

Так произошло и с проектом к которому я присоединился. 200-300 строчные методы, дублирование кода, процедурный подход вместо использования ООП не вызывали ни каких положительных эмоций. К счастью ПМ оказался очень адекватным человеком и не отмахнулся от просьбы выделить время на рефакторинги. Один из таких рефакторингов в итоге вылился в плагин валидации HTML-форм, которым я и хочу поделиться.
Читать дальше →

AJAX в CakePHP на jQuery и Prototype

Время на прочтение5 мин
Количество просмотров5.3K
Небольшой пример реализации AJAX в CakePHP, пример показывает, как легко работать с AJAX в СakePHP, всю работу берет на себя фреймворк. Реализуем пример на библиотеке jquery.js затем переделаем наш пример на библиотеку prototype.js
Читать дальше →

Мой маленький веб-сервис на CakePHP

Время на прочтение2 мин
Количество просмотров7.7K
Здравствуйте. В этом посте я хочу описать как в качестве изучения фреймворка CakePHP был написан небольшой «веб-сервис», а именно менеджер закладок веб-страниц.
image
Сразу хочу сказать, что у меня не было в планах написать мега функциональный сервис, как например Evernote. Я старался сделать как можно более простой в использовании сайт.
Читать дальше →

Нормальная офлайновая документация

Время на прочтение1 мин
Количество просмотров2.2K
Вместе с выходом второй версии фреймворка CakePHP обновилась и документация — book.cakephp.org/2.0/. А самое главное, появилась офлайновая дока. Скачать можно прям с первой страницы кукбука: CakePHPCookbook.epub. Можно скачть с гитхаба исходники или помочь с переводом и исправлением.

Мне было лень искать что-то, что читает формат .epub и я просто распаковал файлы и получил много html страничек. Такая документация выглядит примерно так. Zip с html страничками качаем отсюда

Интервью с разработчиком Croogo

Время на прочтение3 мин
Количество просмотров2.6K
Уже совсем скоро выйдет стабильный релиз CakePHP 2. Интересно, что будет с проектами, написанными на CakePHP 1.x. И самый волнующий вопрос, что будет с Croogo — замечательным инструментом для разработки на CakePHP. Планами на будущее делится разработчик Croogo CMS.

Вольный перевод небольшого интерьвью с Fahad Ibnay Heylaal(разработчиком Croogo CMS).

Читать дальше →

Тонкости при работе с Sanitize в связке с save

Время на прочтение3 мин
Количество просмотров6.7K
Доброго времени суток уважаемый %username%. Хотелось бы вам рассказать об одной интересной особенности работы с классом Sanitization. Данный класс является частью ядра замечательной фреймворка CakePHP и предназначен для «очистки» входящих данных. К примеру, его можно, нужно использовать для «очистки» данных передаваемых пользователем перед сохранением в базу данных. Официальная документация и примеры использования лежат тут book.cakephp.org/view/1183/Data-Sanitization. Настоятельно рекомендую каждому разработчику использующему CakePHP ознакомиться с этим классом.
Читать дальше →

Сообщество CakePHP открыло проект CakePHP TV

Время на прочтение1 мин
Количество просмотров1.6K
image

CakePHP TV — это видео сайт, посвященный CakePHP и всему, что с ним связано. Команда CakeDC рада сообщить о релизе проекта CakePHP TV 1.0! Мы разрабатываем приложения, чтобы привлечь больше внимания к сообществу CakePHP. Данное приложение позволит собрать все видео ролики, созданные сообществом CakePHP, и открыть к ним доступ.

Читать дальше →

Выбор изображений просто и эффективно

Время на прочтение8 мин
Количество просмотров5.8K
Добрый день. Рассмотрим следующую функциональность приложения: добавление изображения к тексту. Изображения не встраиваются в сам текст (как, например, в википедии), а существуют отдельно. Текст может иметь одно или несколько изображений. Процедуру привязки хотелось сделать максимально дружелюбной по отношению к пользователю.
Выбор пал на представление данных с помощью двух областей: слева находятся все картинки, доступные для выбора, в правой — выбранные. Пользователь может выбирать изображения как с помощью мышки, так и с помощью дополнительных кнопок.
Пример работы плагина

Под катом немного о реализации

Добавление порядка сортировки в CakePHP

Время на прочтение5 мин
Количество просмотров1.8K
О чем будет топик?

О том, как добиться того, чтобы можно было с помощью CSS или иным способом определить/увидеть в html-выводе, в каком порядке (asc|desc) отсортирован столбик таблицы, а не только по какому из столбиков отсортирована таблица.

Короче говоря, сделать как например, на Яндекс.Расписаниях, вот так:
порядок сортировки
Читать дальше →

Простое решение красивых URL в Cakephp

Время на прочтение1 мин
Количество просмотров1.9K
Если Вы просматриваете какую-то запись/пост на Cake-сайте, то скорее всего адрес выглядит так:
/posts/view/5, где posts — модель, а 5 — номер id записи.
Чтобы сгенерировать такую ссылку надо прописать что-то вроде:
$html->link('CakePHP Tips', array('controller' => 'Post','action' => 'view',5));
Естественно вы не будете писать id вручную, скорее всего это будет что-то вроде:
$html->link($post['Post']['title'], array('controller' => 'Post','action' => 'view',$post['Post']['id']));

А сейчас самое интересное:
Читать дальше →

Ближайшие события

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Уменьшаем кол-во запросов requestAction-ов с помощью Cache

Время на прочтение2 мин
Количество просмотров938
В документации Cakephp 1.2 говорится о том что если requestAction используется без кеширования, то это может уменьшить производительность.
If used without caching requestAction can lead to poor performance. It is rarely appropriate to use in a controller or model.
И правда, сами подумайте, каждый раз при просмотре сайта, кроме основных запросов, к базе делается куча мелких, с помощью requestAction-ов, например…
И как истинные политики, они говорят ЧТО может произойти, при этом не говоря КАК этого избежать.
Привожу пример того, КАК с этим разбираюсь я.
Читать дальше →

Минималистичная система разделения прав по группам за 5 минут

Время на прочтение4 мин
Количество просмотров3.6K
Замучались с ACL? Есть пожалуй самое простое решение для разделения прав по группам. Никаких ACL таблиц, никакого дерева прав. Но если вам требуется задавать права персонально для каждого пользователя, то это решение точно не для вас.
Читать дальше →

Хелперы. Полезные манипуляции со строками

Время на прочтение3 мин
Количество просмотров6.4K
CakePHP поставляется с кучей полезных хелперов и компонентов, которые обеспечивают удобные инструменты для обработки и манипулирования данными. Эти хелперы значимы не только для пользователя фреймворка, но и могут оказать большую помощь кому-нибудь кто пишет PHP приложения не используя CakePHP.
далее...

timeAgoInWords по русски

Время на прочтение1 мин
Количество просмотров1.1K
Привет, пекари.
Хотите чтобы в вашем проекте даты писались так:«1 день, 3 часа назад»
или так:«2 месяца, 2 недели, 3 дня назад»?

как это сделать

Связывание таблиц в Model::find()

Время на прочтение7 мин
Количество просмотров2.3K
Перевод заметки на Bakery от Nate, одного из авторов CakePHP. Мне она показалась интересной и иллюстрирующей как же работает этот фреймворк, но сложной для понимания на английском языке.

В этой заметке описывается малоизвестный приём, позволяющий осуществлять связывание таблиц (joins) в запросах CakePHP напрямую, не используя методы bind и unbind.

Внимание: Приём сработает только если вы используете новый синтаксис Model::find(), который имеет всего два параметра. В противном случае читайте Cookbook или API.

Читать дальше →

CakePHP 1.2 final

Время на прочтение1 мин
Количество просмотров866
Вчера, на католическое рождество, команда CakePHP представила финальный релиз ветки 1.2. С момента первого релиза для разработчиков прошло ровно два года.

За это время фреймворк стали использовать действительно большие проекты (https://addons.mozilla.org/, http://www.livemocha.com/, http://www.zeadoo.com/). Появилось несколько компаний, специализирующихся на разработке с его помощью (http://cakedc.com, http://debuggable.com, http://sanisoft.com)

Полный список изменений и доступных фич вот тут
1