Мои сайты
- hudson играет как я играю на pc, xbox360 и других платформах
- фото-hudson мой фотоальбом, мои фото-эксперименты
Друзья
Популярные таги
ajax apache bird's eye view bromine centos cubic test doctrine facebook flash flex hints howto internet explorer java javascript jquery linux memcached monitoring munin mysql nginx patch php propel redhat ruby ruby on rails selenium selenium grid svn symfony symfony advent calendar'09 symfony deploy checklist tools web разработка Мои сайты автоматизация тестирования голдрат мысли практикум теория ограничений тестирование чтиво юморАрхив блога
Чеклист: готов ли ваш symfony проект к развертыванию (часть 1)
По мотивам Check if your symfony application is ready for deployment
Небольшой сборник рецептов (или же мини тестов), которые желательно выполнять перед развертыванием symfony-проектов.
Страница “Oops! Page Not Found”
Когда запрошенный URL не соответствует ни одному маршруту или когда вызывается sfError404Exception, symfony пытается отобразить действие default/error404:
Для того чтобы облагородить эту страницу, добавьте метод executeError404() в класс
apps/frontend/modules/default/actions/actions.class.php:После этого создайте шаблон
apps/frontend/modules/default/templates/error404Success.php. Если хотите, можете взять оригинальный файл и модифицировать его под ваш дизайн.Теперь нужно протестировать, как будет выглядеть ваша страничка 404. Возьмите одно из действий проекта, которое работает и добавьте в его начале строку:
После этого вы можете протестировать соответствующую страницу в продуктовом окружении. Если в вашем приложении модуль default защищен – нужно убедиться, что действие error404 не является защищенным: в файле
apps/frontend/modules/default/config/security.ymlпроверяем (или добавляем) следующие стоки:Вы также можете использовать другой модуль. Для этого модифицируйте
apps/frontend/config/settings.yml:all: .actions: error_404_module: foo # To be called when a 404 error is raised error_404_action: bar # Or when the requested URL doesn't match any routeПосле этого остается только очистить кэш:
Страница “Oops! An Error Occurred”
Эта страница отображается в продуктовом окружении когда symfony перехватывает ошибку.
Symfony ищет файл error.html.php и у вас есть выбор, где его разместить:
mySfProject/apps/frontend/config/error/error.html.php. Имеет смысл в случае, когда у вас планируется отдельная версия для каждого приложения (app).mySfProject/config/error/error.html.php.Если хотите, вы можете взять оригинальный файл и изменить его.
Для того чтобы протестировать страницу ошибки в любое действие добавьте строку:
Протестируйте соответствующую страницу в продуктовом окружении.
Страница “Login Required”
Когда неаутентифицированный пользователь пытается открыть страницу, которая объявлена как secure в security.yml, symfony пытается отобразить действие default/login:
Для того чтобы изменить внешний вид этой страницы, добавьте метод executeLogin() в класс
apps/frontend/modules/default/actions/actions.class.php:Затем нужно создать шаблон
apps/frontend/modules/default/templates/loginSuccess.php.Если хотите, можете взять оригинальный файл и модифицировать его.
Для того, чтобы протестировать эту страницу нужно:
Используем отдельный модуль. Для этого модифицируем
apps/frontend/config/settings.yml:all: .actions: login_module: foo # To be called when a non-authenticated user login_action: bar # Tries to access a secure pageУбедитесь, что foo::bar не защищенное действие (мы ведь хотим показывать эту страницу незалогинившимся пользователям!) – проверьте или добавьте в apps/frontend/modules/foo/config/security.yml следующие строки:
После не забудьте очистить кэш:
Соответствующая документация для 1.2, для 1.4 doctrine, 1.4 propel.
Страница “Credentials Required”
Когда пользователь не имеет необходимых прав доступа (credentials) для действия, symfony пытается отобразить действие default/secure:
Для того чтобы настроить внешний вид этой страницы, добавьте метод executeSecure() в
apps/frontend/modules/default/actions/actions.class.php:и создайте шаблон
apps/frontend/modules/default/templates/secureSuccess.php. Если хотите, можете взять оригинальный файл и модифицировать его.Теперь нужно протестировать экшен. Для этого нужно:
apps/frontend/modules/yourModule/config/security.yml:Если вы хотите использовать другой модуль, модифицируйте
apps/frontend/config/settings.yml:all: .actions: secure_module: foo # To be called when a user doesn't have secure_action: bar # The credentials required for an actionИ очистите кэш
Страница “This Module is Unavailable”
Когда пользователь пытается вызвать действие из модуля, который объявлен как disabled, symfony пытается отобразить действие default/disabled:
Для того чтобы настроить внешний вид этой страницы, добавьте метод executeDisabled() в
apps/frontend/modules/default/actions/actions.class.php:и создайте шаблон
apps/frontend/modules/default/templates/disabledSuccess.php. Если хотите, можете взять оригинальный файл и модифицировать его.Теперь нужно протестировать отключенный модуль. Для этого нужно:
apps/frontend/modules/yourModule/config/module.yml:Если default модуль защищен, убедитесь что действие disabled доступно пользователям – проверьте или добавьте в
apps/frontend/modules/default/config/security.ymlследующие строчки:Если вы хотите использовать другой модуль, модифицируйте
apps/frontend/config/settings.yml:all: all: .actions: module_disabled_module: foo # To be called when a user requests module_disabled_action: bar # A module disabled in the module.ymlИ очистите кэш
Страница “Website Temporarily Unavailable”
Вебсайт может отображаться как “недоступный” если:
php symfony project:disableВ этих случаях symfony ищет файл
unavailable.phpи вы можете разместить его в следующих местах:mySfProject/apps/frontend/config/unavailable.php(имеет смысл, если у вас будут разные версии для разных приложений)mySfProject/config/unavailable.phpЕсли хотите, вы можете взять оригинальный файл и модифицировать его.
Не забывайте очистить кэш.
Чтобы протестировать эту страницу, нужно отключить фронтэнд и dev окружении: