Мар 27 2009

Редактор PHPEdit 3.2 с поддержкой Symfony

Category: Symfonyingvar @ 21:28

На днях анонсировали новую версию редактора PHPEdit 3.2 с поддержкой Symfony от французской компании WaterProof. Как сообщается в анонсе, работа в IDE для проектов на Symfony становиться удобной, как никогда :) .

Ознакомиться с новыми возможностями редактора можно в демо-ролике (анг. язык). Или скачать документацию по расширению Symfony (PDF).

Скачать редактор PHPEdit 3.2. Редактор платный, его стоимость зависит от комплектации — 89, 179 и 299 евро.

Вот некоторые скриншоты редактора. Возможности прикольные, позволяют отказаться от консоли как таковой, очень удобный Code Insight — позволяет переходить не только на методы, атрибуты классов, но и на роутинги, шаблоны. Поддержка YAML, отладка кода.

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


Мар 19 2009

Symfony: настраиваем собственные обработчики ошибок (404, 500, unavailable.php)

Category: Symfonyingvar @ 03:57

На каждом проекте не забываем настраивать обработчики ошибок, а то получим вот такие сюрпризы на продакшен сервере для страниц ошибок 404 и 500:

symfony_error_page_404

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


Мар 07 2009

Презентации Symfony 2.0

Category: Symfonyingvar @ 15:55

Fabien Potencier выложил презентации для Symfony 2.0. Можно скачать PDF версию презентации phpquebec-2009-symfony-2.pdf.

Основная идея Symfony 2.0 — это увеличить производительность фреймворка и автономность некоторых компонентов (Controller Handling, Templating Framework, Dependency Injection Container).


Фев 24 2009

Обновлена книга по формам Symfony: Forms in Action

Category: Symfonyingvar @ 23:22

В книгу Symfony Forms in Action добавлено более 40 новых страниц про widgets и validators. Как сказано, там содержится описание всех встроенных виджетов и валидаторов в Symfony, плагинов sfPropelPlugin, sfDoctrinePlugin и sfFormExtraPlugin.

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

Ознакомиться с новыми разделами можно на страничках: Appendix A — Widgets и Appendix B — Validators, или скачать PDF версию всей книги.

Материалы по теме:
Blog: symfony Forms Book update
Symfony book: Forms in Action


Фев 17 2009

Справочник по настройкам Symfony 1.2

Category: Symfonyingvar @ 10:32

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

В руководстве Jobeet рассматривалась ситуация, когда при создании нового проекта можно было не редактировать файл symfony.yml, а внести необходимые изменения через команды, например:

Листинг 1: Изменяем CSRF секретное слово

$ php symfony generate:app --escaping-strategy=on --csrf-secret=UniqueSecret frontend

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


Дек 27 2008

Symfony класс myCache для кеширования пользовательских данных

Category: Symfonyingvar @ 23:46

Для кеширования своих пользовательских данных был написан класс myCache. Это всего лишь обертка к существующим классам кеширования Symfony (File, APC, XCache, EAccelerator, SQLite). С помощью настроек в app.yml есть возможность настроить кеширование, указав какой механизм использовать. В чем удобство? В любой момент можно изменить, что использовать для кеширования, и весь код переписывать не требуется под конкретный класс (например, sfEAcceleratorCache или sfAPCCache). Плюс, если к примеру использовать APC, а он не установлен, то будет активирован File. Файл разместить в папку ‘/lib/myCache.class.php’.

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


Дек 19 2008

Symfony: отлавливаем фатальные ошибки

Category: Symfony,Отладкаingvar @ 10:57

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

Без плагинов можно сделать следующее.

Способ №1: используем перехватчик ошибок
Листинг 1: Добавляем в файлы index.php и frontend_dev.php

error_reporting(E_ALL);
ini_set('log_errors', 'On');
ini_set('display_errors', 'Off');
ini_set('error_log', '../logs/fatal_server.log');

Способ №2: воспользоваться плагинами Symfony
sfErrorHandlerPlugin


Дек 11 2008

Symfony Form: записываем относительный путь для файлов в БД

Category: Symfonyingvar @ 19:12

Рецепт только для Symfony 1.2. На других версиях не проверялся.
При работе с формами, если требуется сохранить файлы, то в БД пишется только имя загружаемого файла, например: fa3d2c687c04e411372045106.jpg. Мне удобнее сохранить в БД относительный путь к картинке, так легче работать на выводе, например: /uploads/news/2008/10/16/fa3d2c687c04e411372045106.jpg. Для решения этой задачи требуется указать желаемый путь к директории $this->path в классе NewsForm и переназначить метод saveFile, который используется для записи имени файла в БД. Единственное, что перестанет работать удаление файлов, т.к. путь получается неверный, чтобы это исправить расширяем базовый класс BaseFormPropel и корректируем путь к файлам. Полагаю, что то же самое сработает и для Doctrine.

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


Дек 10 2008

Symfony 1.2: решение проблемы загрузки flv файлов в админке

Category: Symfonyingvar @ 21:25

В Symfony есть одна неприятная проблемка. Если попытаться залить файлы .flv в админке, то после того как файл запишется на диск, мы получим расширение файла в виде: .exe и .obj, :( . В предыдущей версии Symfony 1.1 это решалось перекрытием методов в actions.class.php, и исправлениями других файлов. Конечно проблему это решило, но её реализация была так себе. В новой версии решил написать по другому и получилось все очень просто.
Читать дальше


Дек 02 2008

Основы организации древовидных структур в базах данных (Nested Sets)

Category: Symfony,Разработкаingvar @ 22:46

Подборка материалов по работе с деревьями (Nested Sets) в SQL.

Wikipedia: Иерархические базы данных
Иерархическая модель базы данных состоит из объектов с указателями от родительских объектов к потомкам, соединяя вместе связанную информацию.

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

Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможно, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами.

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


← Предыдущая страницаСледующая страница →