Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 530

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/cache.php on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/theme.php on line 623
Веб-разработка - Программируем на CakePHP


Дек 03 2008

Автоматическая загрузка внешних библиотек

Раздел: Веб-разработкаМета @ 09:33

Перевод записи Auto-loading vendor files (or any other file) с блога Cakebaker’a.

Если вы используете внешние классы, не относящиеся к CakePHP (т.е. не являющиеся готовыми компонентами, хелперами, и т.д., например - PhpMailer или классы Pear), вам приходится импортировать эти классы вручную с помощью вызова App::import(’Vendor’, ‘ClassName’). Этот вызов работает если ваши классы находятся в папке ‘vendors’. То есть в каждом контроллере, или модели, или любом другом месте где вы хотите использовать внешний класс, вам приходится его сначала импортировать. Это не очень удобно.

Читать дальше “Автоматическая загрузка внешних библиотек”

Теги: , ,


Дек 02 2008

Добавление товаров в корзину на AJAX

Раздел: Веб-разработкаМета @ 23:18

Задача из области юзабилити — как добавить товар в корзину, и при этом оставить человека на той же странице, причем желательно даже без перезагрузки оной? Раньше было проблемой, последние пару лет — везде делается на ajax. За примерами реализации далеко ходить не надо — тот же Ozon.ru вовсю пользуется ajax’ом. Вот в своих проектах нам захотелось сделать современную корзину. Оказалось, на CakePHP это совсем не сложно.

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

Читать дальше “Добавление товаров в корзину на AJAX”

Теги: ,


Дек 01 2008

Проектирование веб-сайтов

Раздел: Веб-разработкаМета @ 08:43

Как показала практика, один из самых сложных вопросов это не как написать сайт, а какие именно возможности в него закладывать, как его спроектировать чтобы он получился успешный и окупаемый. Даже программисты постоянно ленятся и пытаются писать ровно то что им скажешь не включая мозги, работают «в режиме кодера». Так делать не следует — ни развития, ни качественного проекта таким способом не создать.

Например, приходит заказчик, говорит — хочу сделать сайт для своего магазина, чтобы ко мне больше народу приезжало, и даже через интернет могли письмо скинуть и оптом заказать. Торгует его магазин, ну скажем всякими красками, лаками и прочей химией. Заказчик вполне определенно высказал свои потребности (что кстати редко бывает).

Читать дальше “Проектирование веб-сайтов”

Теги: ,


Сен 30 2008

Не забывайте очищать кэш!

Раздел: Веб-разработкаМета @ 20:48

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

CakePHP поддерживает несколько методов кэширования, от простого файлового до выделенных memcache-серверов. О том как пользоваться кэшированием в своих приложениях я напишу в отдельной заметке. Здесь же краткий совет — не забывайте очищать кэш!

Читать дальше “Не забывайте очищать кэш!”

Теги: , ,


Сен 23 2008

Вывод случайного баннера на CakePHP

Раздел: Веб-разработкаМета @ 23:28

В одном из проектов нашей студии, нам понадобилось выводить случайные изображения (типа баннеров) в различных местах нескольких шаблонов. Все шаблоны относились к разным контроллерам, в каждом шаблоне к баннеру могли применяться различные css-классы для правильного размещения. Естественно, хотелось придумать универсальное решение.

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

Какие поля должны быть в этой таблице?

Читать дальше “Вывод случайного баннера на CakePHP”

Теги: , ,


Сен 18 2008

Как убрать комментарий с временем создания страницы?

Раздел: Веб-разработкаМета @ 23:53

Просматривая html-код страничек, генерируемых CakePHP, вы наверное замечали в конце страницы комментарий вида . Это время, затраченное на создание страницы. Такой комментарий автоматически добавляется к каждой страничке, если уровень отладки отличен от нуля. Уровень отладки переключается в файле /app/config/core.php.

В общем-то этот комментарий ничего криминального в себе не несет. Но только если вы создаете обычные html-странички. Если же в ответ на запрос пользователя должны выдаваться данные какого-нибудь другого формата, например JSON — этот комментарий будет мешать.

Как его отключить?

Читать дальше “Как убрать комментарий с временем создания страницы?”

Теги: ,


Сен 16 2008

Сообщения об ошибках в CakePHP

Раздел: Веб-разработкаМета @ 22:44

Вольный перевод заметки Felix Geisendörfer Dessert #8 - Render custom errors.

Наверное вы уже замечали папку /app/views/errors/ и знаете, что можете использовать ее для переопределения стандартных шаблонов для сообщений об ошибках из папки /cake/libs/view/errors/. Вот их полный список:

Читать дальше “Сообщения об ошибках в CakePHP”

Теги: , ,


Сен 15 2008

Соглашения в CakePHP

Раздел: Веб-разработкаМета @ 21:45

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

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

Читать дальше “Соглашения в CakePHP”

Теги:


Сен 13 2008

Фильтрация разметки страниц с использованием Tidy

Раздел: Веб-разработкаМета @ 11:05

Вольный перевод статьи Tidy Output Filtering с официального сайта CakePHP (http://bakery.cakephp.org/articles/view/tidy-output-filtering).

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

Читать дальше “Фильтрация разметки страниц с использованием Tidy”

Теги: , ,


Сен 12 2008

5 часто задаваемых вопросов по CakePHP (часть первая)

Раздел: Веб-разработкаМета @ 22:37

Решил собрать коллекцию самых часто задаваемых вопросов, из тех что возникают у начинающих программистов на CakePHP. Буду публиковать по частям.

Читать дальше “5 часто задаваемых вопросов по CakePHP (часть первая)”

Теги:


Следующая страница »