Symfony 2009 advent calendar: день 18 – Разработка для Facebook (часть 1)

Symfony 2009 advent calendar – это 24 урока продвинутого уровня о symfony. Все уроки представлены на 5 языках: английском, французском, испанском, итальянском, японском. Русского нет, это досадное упущение постараюсь исправить.

Перевод статьи Symfony 2009 advent calendar: day 18 – Developing for Facebook (part 1).

Предисловие: тема разработки для facebook меня достаточно серьезно заинтересовала с полгода назад. После неудачной попытки доложиться по этому вопросу на phpconf’09 (тянул до последнего и не попал в программу))) я хотел систематизировать свои наблюдения и наработки в виде серии статей, однако все было недосуг. И вот, вижу данный урок на symfony, основном моем инструменте последних лет. Поэтому, немного сломав порядок перевода статей advent calendar, задуманный мной, начну с освещения этого интересного материала.

Continue reading

30 лучших практик для Symfony – часть первая #1 – #10

Представлю вашему вниманию 30 лучших практик для symfony – перевод презентации Nicolas Perriault с SymfonyDay’09. По ходу дела буду стараться добавлять свои комментарии.

Это первая часть статьи (часть вторая, часть третья)

Continue reading

Выносим symfony framework из песочницы

Symfony sandbox наверное знаком каждому, кто когда-либо пробовал этот замечательный фреймворк. Он отлично подходит для прототипирования и изучения symfony (лично я так и начинал – просто, быстро, понятно и сразу заработало). Однако, при всех своих плюсах, использовать symfony sandbox на продуктовых серверах по сути является плохим тоном (хотя и ваш покорный слуга порой грешит сим ))). Чем же это плохо? В основном с проблемой sandbox сталкиваешься когда хочется обновить symfony на более позднюю версию, так как системные файлы symfony хоть и лежат обособлено, не понятно что из них нужно заменять, что нельзя (при использовании VCS систем типа SVN это становится еще бОльшей проблемой). Ниже описано как отучить symfony sandbox с применением PEAR:

Continue reading

Временная блокировка проекта на symfony

Ошибки или плановые мероприятия зачастую требуют чтобы некоторое время пользователи не трогали сайт, над которым измывается релиз-менеджер (ну или разработчик). Ниже небольшой хинт как сделать удобную заглушку для проекта на symfony 1.2 (для symfony 1.1 и 1.0 также можете воспользоваться данным руководством).

Continue reading

Strict php time zone

После миграции на PHP 5.3.0 посыпалось некоторое количество ошибок вида

SYSTEM WARNING: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘UTC’ for ‘GMT/0.0/no DST’ instead

Собственно они вызваны тем что по умолчанию отображаются ошибки уровня E_STRICT, что поидее должно подталкивать людей к исправлению ошибок, а не к игнорированию их. Ну раз так, то указанную ошибку нужно исправить указанием корректной таймзоны в php.ini (Документация: http://us2.php.net/manual/en/datetime.configuration.php#ini.date.timezone; Списки доступных зон: http://us2.php.net/manual/en/timezones.php). Меня устроил такой вариант:

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = Europe/Moscow

Установка свежей версии PHP на RedHat / CentOS 5

В основных репозиториях версии PHP зачастую не самые свежие, поэтому если хочется версию поновее (обычно хочется самую новую), нужно воспользоваться репозиторием remi.

На самом деле все очень просто, и если нужна не какая-то специфичная конфигурация, установка собранного php себя вполне оправдывает. Итак:

Continue reading

Отправка email из компонента joomla

Как оказалось это несложно

$user =& JFactory::getUser(); 
$message =& JFactory::getMailer();
$message->addRecipient($user->email); 
$message->setSubject('Your subject string');
$message->setBody("Your body stringnin double quotes if you want to parse the nnewlines etc"); 
$sender = array( 'sender@email.address.org', 'Sender Name' );
$message->setSender($sender);
$sent = $message->send();
if ($sent != 1) echo 'Error sending email';

Источник – http://docs.joomla.org/How_to_send_email_from_components