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

CodeIgniter vs. CakePHP

Время на прочтение 6 мин
Количество просмотров 1.7K
Чулан
Ниже находится перевод статьи Джонатана Снука (Jonathan Snook) о преимуществах и недостатках двух популярных PHP фреймворков CakePHP и CodeIgniter.

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

Я сопоставляю эти две платформы друг против друга, но безоговорочного победителя здесь нет. Обе имеют как сильные, так и слабые стороны, а также полные провалы в той или иной опции, которая для вас может оказаться необходимой.
Читать дальше →
Всего голосов 30: ↑22 и ↓8 +14
Комментарии 84

Несколько сайтов на одном движке CakePHP

Время на прочтение 2 мин
Количество просмотров 1.1K
PHP *
И так. Объясняю популярно. Ибо сам пока разобрался потратил ни 10 минут. Делаем на примере условного сайта "Travel".
  • Движок CakePHP [cakephp/cake и cakephp/vendors] я перенёс(!) в /var/www/cake.core (/var/www у меня apache wwwroot) — то есть, этот движок будет использоваться для всех проектов и не будет меняться до следующей версии CakePHP.
  • Содержимое cakephp/app/webroot переносим(!) в /var/www/travel (в этой папке у нас будут все css, images, js, uploads и т.д.)
  • Всё из cakephp/app (там уже нет webroot, мы его прошлым шагом от туда перенесли) переносим(!) в /var/www/travel.app (там у нас будет вся логика и темплейты. MVC то есть).


Далее конфигурация.
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 7

Tips & tricks CakePHP #2

Время на прочтение 3 мин
Количество просмотров 1.5K
CakePHP *
В связи с выходом пре-беты 1.2 второй выпуск tips&tricks. Продолжаем знакомить Вас с идеями и проблемами версии 1.2, особенностями пре-беты, с которыми мы встретились в процессе разработки социальной сети.
Кроме того, мы завели себе блог на Хабре — присоединяйтесь, задавайте вопросы. Думаю, нам есть что обсудить.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 19

CakePHP 1.2 beta

Время на прочтение 1 мин
Количество просмотров 706
CakePHP *
Прошел год, как была анонсирована версия 1.2 и вот оно — наконец-то перешли рубеж альфы и ушли в бету. По мнению разработчиков, текущий релиз — лучший из всех предыдущих. В процессе разработки постоянно находился баланс между удобством и расширяемостью.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 39

CakePHP. Разделение доступа без компонента ACL.

Время на прочтение 2 мин
Количество просмотров 649
Чулан
В данный момент я пишу систему на связке CakePHP и MS SQL. Сначала попробовал использовать стандартный компонент ACL, но выяснилось, что CakePHP не полностью поддерживает MS SQL (по крайней мере в этом компоненте). Поэтому пришлось придумать следующий метод разделения доступа.
Читать дальше →
Всего голосов 6: ↑2 и ↓4 -2
Комментарии 6

Стираю языковые барьеры. Бесплатно

Время на прочтение 2 мин
Количество просмотров 1.1K
PHP *
Примерно так можно озаглавить вещи, которые я делаю в свободное время вот уже несколько месяцев. После руссификации мануала по CakePHP я занялся переводом на русский язык документации по другому фреймворку.
Интересно, какому?
Всего голосов 66: ↑65 и ↓1 +64
Комментарии 81

Обсуждаем платформы… индивидуальный подход

Время на прочтение 3 мин
Количество просмотров 900
Чулан
Публикую здесь один из комментариев к моей записи «CodeIgniter vs. CakePHP». Может получиться интересная беседа. Да и человеку нужно помочь...

Нужен совет специалистов.
О себе. Я менеджер — разработчик — бизнес аналитик, не знаю, кто больше, но точно не в сторону программиста…

Знаю meta-CMS DJEM (к сожалению, платная и дорогая, 22 тыс. рублей+ за лицензию) и CMF ModX (к сожалению, там не всё так круто, как нам хочется). Хочу изучить ещё 1 CMF, выбор между Symfony, Django и CodeIgniter. CakePHP почему-то не нравится. Не хочу, не буду, уберите — это на подсознательном уровне, наверное. :)
Читать дальше →
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 1

CakePHP: Добавляем «каменты» в блог.

Время на прочтение 4 мин
Количество просмотров 2K
PHP *
<p />Итак, мы решили начать программировать «по понятиям» и наконец разобраться с каким-нибудь фреймворком.
<p />Перед нами встаёт мучительный выбор, какой же фреймворк для этого использовать. Для этого можно найти кучу статей, обзоров, сравнительных анализов скорости, производительности, удобства использования и установки, а можно просто набрать в гугле «php framework» и кликнуть
Читать дальше →
Всего голосов 15: ↑10 и ↓5 +5
Комментарии 20

Вышел CakePHP 1.2 RC1

Время на прочтение 1 мин
Количество просмотров 718
CakePHP *
Вышел первый релиз-кандидат php-фреймворка CakePHP 1.2.7119 RC1. Данная версия разрабатывается уже более двух лет и включает в себя большой список изменений. С основными новинками можно ознакомиться здесь.
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 15

CakePHP 1.2 RC2

Время на прочтение 1 мин
Количество просмотров 780
CakePHP *
Вышел второй релиз кандидат фреймворка CakePHP. По большей части данное обновление включает в себя багфиксы и оптимизацию производительности. Не смотря на то, что и предыдущая версия была достаточно стабильной, в новой версии стабильность должна быть ещё выше. Помимо других изменений, проведено удаление устаревших методов, за исключением findAll, findCount и других find*-методов. Тем не менее, рекомендуется всё же заменить их на find('all'), find('count') и т.д., так как в будущем скорее всего и они будут удалены.
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 1

CakePHP 1.2 Containable Behavior

Время на прочтение 8 мин
Количество просмотров 1.3K
PHP *
Новый релиз замечательного фреймворка CakePHP принесет еще одну фичу, которая может сильно упростить жизнь разработчикам — Containable Behavior. Особенно эта фича будет полезна при работе с моделями с большим количеством ассоциаций.
Подробнее
Всего голосов 24: ↑17.5 и ↓6.5 +11
Комментарии 12

Cakephp Sphinx behavior

Время на прочтение 8 мин
Количество просмотров 1.6K
PHP *
По долгу службы мне приходится работать с Cake и Sphinx. Однажды мне надоело делать поиск к сфинксу ручками, и я решил написать небольшой behavior.
Код и примеры
Всего голосов 36: ↑27 и ↓9 +18
Комментарии 8

Настройка autocomplete для CakePHP в NetBeans 6.5

Время на прочтение 1 мин
Количество просмотров 907
CakePHP *
Не секрет, что автокомплит в редакторах очень удобная штука, но в CakePHP слишком много магии (соглашений об именовании), чтобы он смог разобраться что к чему. Сейчас я расскажу, как объяснить автокомплиту NetBeans некоторые очень полезные вещи.

полезные вещи
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 8

DebugKit для CakePHP

Время на прочтение 1 мин
Количество просмотров 1.5K
CakePHP *
На GitHub (а именно здесь) уже некоторое время лежит отличный плагин для CakePHP, который значительно облегчает разработку на тортике.
Он добавляет на страницу в верхний правый угол вот такую панель:

image
читать дальше в моем блоге
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 3

Named Scope для CakePHP

Время на прочтение 1 мин
Количество просмотров 821
CakePHP *
В Ruby on Rails есть такая полезная вещь, как named scope, которая предоставляет элегантный и удобный способ поиска данных в модели. Для наглядности пример:

class User < ActiveRecord::Base
  named_scope :active, :conditions => {:active => true}
  named_scope :inactive, :conditions => {:active => false}
end
# Использование
User.active # то же самое, что и User.find(:all, :conditions => {:active => true})
User.inactive # то же самое, что и User.find(:all, :conditions => {:active => false})

и при чем тут CakePHP?
Всего голосов 25: ↑20 и ↓5 +15
Комментарии 11

Класс Set — повелитель массивов

Время на прочтение 1 мин
Количество просмотров 1.1K
CakePHP *
Сегодня кстати, вышел четвертый релиз-кандидат CakePHP 1.2. Более 300 изменений и все такое. Но сейчас речь не об этом.
Оказывается в недрах CakePHP давно живет класс Set, который активно используется в ядре и редко используется конечными пользователями. А между прочим зря.
О чем это ты?
Всего голосов 41: ↑29 и ↓12 +17
Комментарии 44

CakePHP 1.2 final

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

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

Полный список изменений и доступных фич вот тут
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 17

Капля, Унция и Ведро

Время на прочтение 2 мин
Количество просмотров 556
Чулан
Это суперски, что на Хабре есть обучающие статьи. Так сказать: изучаем по шагам: Ruby по каплям, Питон унциями и что-то (забыл что) вёдрами. А… Чуть не забыл — Java — чашками.

На будущее можно предложить следующие единицы измерения:

  • карат
  • грамм
  • милилитр (не капля!)
  • фунт (это для среднего уровня)
  • пуд (это уже при изучении на уровне senior)


Можно, также, переключиться на скорость измерения: изучаем javascript со скоростью две функции в час, или разгоняем PHP до 50 строк в секунду.

Здорово, что есть учебные материалы, и странно, что так неоригинально придумывают названия. Видимо, чтобы взгляд цепляло? Но мне кажется, если человеку интересен Python то всё равно — каплями его выдавливают, или вёдрами льют :)

Было бы очень метко отмечать уроки в %, однако, все кто публикует (я так думаю) вряд ли имеют чёткий план изучения того или иного языка программирования. Поэтому для кого-то это будет 20%, а кто-то поймёт что язык стал понятен, а фунции — всегда можно будет глянуть в api документации.

У меня, по-крайней мере, на определённом этапе изучения «чего угодно» наступает момент «просветления», после которого любой учебный курс становится уже избыточным, а вопросы, которые возникают в ходе программирования находятся на грани возможностей языка (или, если быть точным, моих возможностей) — и почти с вероятностью 99% не раскрываются ни в каких учебных курсах, и что бывает совсем обидно — практически не предусмотрены во фреймворках.

Ну а что поделаешь? Типичные задачи решаются базовыми функциями, расширенные — приходится самому писать функции. Но самые интересные задачи — приходится ковыряться самому — от начала и до конца.

Кстати, как у вас — я не знаю, у меня в области веб-программирования, самое интересное начинается именно при построении запросов к базе данных. Именно хитрые выборки со всевозможными ускорениями и оптимизацией — вот что тонкое место. А всё остальное (я пишу на CakePHP) — в основном настолько тривиально, что без особых хлопот «портанётся» на любой другой язык или фреймворк. Мне так кажется.

А вам?
Всего голосов 49: ↑23 и ↓26 -3
Комментарии 15

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

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

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

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

Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 8