Author: Annie
Date: 2010-01-13 03:25:12 +0100 (Wed, 13 Jan 2010)
New Revision: 26554

Added:
   doc/branches/1.4/jobeet/ru/23.markdown
Modified:
   doc/branches/1.4/jobeet/ru/21.markdown
Log:
Russian translation of Jobeet 1.4, lesson 23 has been added, lesson 21 has been 
updated.

Modified: doc/branches/1.4/jobeet/ru/21.markdown
===================================================================
--- doc/branches/1.4/jobeet/ru/21.markdown      2010-01-13 00:33:19 UTC (rev 
26553)
+++ doc/branches/1.4/jobeet/ru/21.markdown      2010-01-13 02:25:12 UTC (rev 
26554)
@@ -1,4 +1,4 @@
-День 22: Кэш
+День 21: Кэш
 =================
 
 Сегодня мы поговорим о кэшировании. У Symfony есть много встроенных

Added: doc/branches/1.4/jobeet/ru/23.markdown
===================================================================
--- doc/branches/1.4/jobeet/ru/23.markdown                              (rev 0)
+++ doc/branches/1.4/jobeet/ru/23.markdown      2010-01-13 02:25:12 UTC (rev 
26554)
@@ -0,0 +1,338 @@
+Day 24: Другой взгляд на Symfony
+================================
+
+Сегодня последняя остановка в нашем путешествии по удивительному миру Symfony. 
На
+протяжении этих двадцати трех дней, Вы изучали Symfony по примерам: начиная от 
шаблонов
+проектирования используемых этим фреймворком и заканчивая мощными встроеными 
возможностями.
+Вы пока не стали "мастером", но у Вас уже есть все необходимые знания для того,
+чтобы с полной уверенностью начать разработку Вашего приложения.
+
+Мы завершаем цикл наших уроков, но давайте взглянем ещё раз на этот фреймворк.
+Забудьте на час о самом сайте Jobeet, и вспомните все те возможности которые Вы
+изучили за последние три недели.
+
+Фреймворк Symfony - что это?
+----------------------------
+
+Фреймворк Symfony, это набор [отдельных 
подфреймворков](#chapter_11_sidebar_using_the_form_framework_without_symfony),
+который образует полноценный [MVC framework](#chapter_04_the_mvc_architecture)
+(Модель, Вид, Контроллер).
+
+Перед тем, как начать писать код, уделите немного времени прочтению
+[истории и философии Symfony](#chapter_01_introduction). Затем проверьте
+[требования фреймворка](#chapter_01_prerequisites)
+и воспользуйтесь [скриптом 
`check_configuration.php`](#chapter_01_symfony_installation)
+для проверки настроек.
+
+Ну и наконец - [установите Symfony](#chapter_01_symfony_installation). Через 
некоторое
+время Вы возможно захотите [обновить 
Symfony](#chapter_22_sub_upgrading_symfony)
+до последней версии.
+
+Этот фреймворк также предоставляет инструменты для упрощения [развертывания 
приложения](#chapter_22_deploying).
+
+Модель
+------
+
+Часть Symfony для работы с моделями может быть реализована с помощью
+<propel>
+[Propel ORM](http://propel.phpdb.org/). На основе
+</propel>
+<doctrine>
+[Doctrine ORM](http://www.doctrine-project.org/). На основе
+</doctrine>
+[описания базы данных](#chapter_03_the_schema), оно генерирует классы для
+[объектов](#chapter_03_the_orm), [форм](#chapter_10_##ORM_LOWER##_forms), и
+[фильтров](#chapter_12_filters_configuration). ##ORM## также
+[генерирует SQL](#chapter_03_the_orm) код, используемый для создания таблиц в 
базе данных.
+
+Конфигурирование базы данных может быть сделано с помощью 
[задачи](#chapter_03_the_database)
+или изменения [конфигурационного файла](#chapter_03_the_database). Помимо 
конфигурации,
+также возможно вставить начальные данные в базу, благодаря
+[файлам с начальнымм данными (fixtures)](#chapter_03_the_initial_data).
+Вы даже можете сделать эти файлы динамическими.
+
+<propel>
+Объекты Propel могут быть с легкостью 
[интернационализированны](#chapter_19_sub_propel_objects).
+</propel>
+<doctrine>
+Объекты Doctrine могут быть с легкостью 
[интернационализированны](#chapter_19_sub_doctrine_objects).
+</doctrine>
+
+Представление
+-------------
+
+По умолчанию, слой представления архитектуры MVC использует обычные PHP файлы 
в качестве
+шаблонов.
+
+В шаблонах могут использоваться 
помощники(#chapter_04_the_stylesheets_images_and_javascripts)
+для повторяющихся задач, таких как создание 
[URL](#chapter_05_routing_in_actions_and_templates)
+или [ссылок](#chapter_05_routing_in_actions_and_templates).
+
+Шаблон может быть "декорирован" файлом [layout](#chapter_04_the_layout) для 
отделения
+заголовка и подвала (footer) страниц. Для того чтобы шаблоны были более 
универсальными,
+Вы можете использовать [слоты](#chapter_04_slot_s), 
[фрагменты](#chapter_07_partials_partial_templates) и
+[компоненты](#chapter_19_language_switching).
+
+Для ускорения работы приложения, Вы можете использовать [подфреймворк 
кэширования](#chapter_21_cache_configuration)
+для кэширования [целой страницы](#chapter_21_page_cache), только [действия] 
(#chapter_21_action_cache),
+или даже [фрагментов или 
компонентов](#chapter_21_partial_partial_templates_and_component_cache).
+Вы также можете [удалить кэш вручную] 
(#chapter_21_removing_the_cache_cache_removal).
+
+Контроллеры
+-----------
+
+Часть Symfony, отвечающая за [контроллеры](#chapter_01_the_environments) и 
[действия](#chapter_03_see_it_in_action_in_the_browser).
+
+Задачи могут быть использованы для создания [простых 
модулей](#chapter_07_job_category_module_creation),
+[CRUD модулей](#chapter_03_see_it_in_action_in_the_browser), или даже для 
создания
+полностью рабочих [модулей админки](#chapter_12_backend_modules) для моделей.
+
+Модули админки позволяют Вам построить полностью рабочее приложение без 
написания
+какого-либо кода.
+
+Для абстрагирования от технической реализации сайта, Symfony использует 
[маршрутизацию](#chapter_05_routing_configuration),
+подфреймворк, который генерирует [красивые URL](#chapter_05_url_s). Для 
реализации веб сервисов,
+Symfony поддерживает различные [форматы](#chapter_14_formats). Также Вы можете 
создавать
+свои [форматы](#chapter_15_sub_the_yaml_format_formats_creation).
+
+Действие может включать другое [действие 
(forward)](#chapter_04_sidebar_the_forward_action_forwarding_methods_family),
+ или быть [перенаправлено 
(redirect)](#chapter_05_sidebar_the_redirect_redirection_methods_family).
+
+Конфигурация
+------------
+
+В Symfony, достаточно просто иметь различные конфигурационные настройки
+для различных окружений приложения. [Окружение](#chapter_01_the_environments) 
- это набор
+настроек, которые устанавливают различные "поведения" на промышленном сервере 
или на
+сервере для разработки. 
+Вы также можете [создать новое 
окружение](#chapter_21_creating_a_new_environment).
+
+Конфигурационные файлы могут быть определены на
+[различных уровнях](#chapter_04_sidebar_configuration_principles_in_symfony) и
+многие из них [осведомлены об 
окружении](#chapter_08_sidebar_configuration_principles_in_symfony):
+
+ * [`app.yml`](#chapter_06_custom_configuration)
+ * [`cache.yml`](#chapter_21_cache_configuration)
+ * [`databases.yml`](#chapter_03_the_database)
+ * [`factories.yml`](#chapter_16_sub_factories)
+ * [`generator.yml`](#chapter_12_the_symfony_cache)
+ * [`routing.yml`](#chapter_05_routing_configuration)
+ * [`schema.yml`](#chapter_03_the_schema)
+ * [`security.yml`](#chapter_13_sub_authentication)
+ * [`settings.yml`](#chapter_11_sub_built_in_security_features)
+ * [`view.yml`](#chapter_04_the_stylesheets_images_and_javascripts)
+
+В основном конфигурационные файлы используют [формат 
YAML](#chapter_03_sidebar_the_yaml_format).
+
+Instead of using the default directory structure and organize your application
+files by layers, you can also organize them by feature, and bundle them in
+[a 
plugin](#chapter_20_sub_a_different_way_to_organize_code_code_organization). 
Speaking 
+of the default directory structure, you can also
+[customize it](#chapter_22_customizing_the_directory_structure)
+according to your needs.
+
+Вместо того, чтобы использовать структуру директорий по умолчанию,
+Вы можете также их организовать по функциональности и объединить в 
[плагин](#chapter_20_sub_a_different_way_to_organize_code_code_organization)
+Говоря о структуре директорий по умолчанию, Вы всегда её можете
+[изменить](#chapter_21_customizing_the_directory_structure) в соответствии с 
вашими нуждами.
+
+Отладка
+-------
+
+<propel>
+С помощью [записи действий в 
журнал(log)](#chapter_06_debugging_propel_generated_sql),
+[отладочной веб панели](#chapter_06_debugging_propel_generated_sql) и
+</propel>
+<doctrine>
+С помощью [записи действий в 
журнал(log)](#chapter_06_debugging_doctrine_generated_sql),
+[отладочной веб панели](#chapter_06_debugging_doctrine_generated_sql) и
+</doctrine>
+ [информативных исключений](#chapter_01_the_environments), Symfony 
предоставляет
+большой набор полезных инструментов для помощи разработчику в быстрой отладке 
кода.
+
+Основные объекты Symfony
+------------------------
+
+Фреймворк Symfony предоставляет несколько основных объектов, которые 
абстрагируют
+повторяющиеся задачи в веб проектах: [запрос 
(request)](#chapter_04_sub_the_request),
+[ответ (response)](#chapter_04_sub_the_response), [пользователь 
(user)](#chapter_13_sub_the_myuser_class),
+[запись в журнал (logging)](#chapter_22_sub_logging),
+[маршрутизация (routing)](#chapter_05_routing_configuration), [email-клиент 
(mailer)](#chapter_16), и
+[управление кэшированием представлений 
(view)](#chapter_16_sidebar_the_code_sfcontext_code_class).
+
+Эти объекты управляются [объектом 
`sfContext`](#chapter_16_sidebar_the_code_sfcontext_code_class)
+и они настроены с помощью [factories](#chapter_16_sub_factories).
+
+Объект "пользователь" управляет 
[аутентификацией](#chapter_13_sub_authentication),
+[авторизацией](#chapter_13_sub_authorization), [мгновенными 
сообщениями](#chapter_13_user_flashes),
+и [атрибутами](#chapter_13_user_attributes), которые хранятся в сессии.
+
+Безопасность
+------------
+
+Фреймворк Symfony содержит встроенные методы защиты против 
[XSS](#chapter_01_sub_application_creation) и
+[CSRF](#chapter_01_sub_application_creation) атак. Эти настройки могут быть 
изменены
+из [командной строки](#chapter_01_sub_application_creation), или в 
конфигурационном
+файле [configuration file](#chapter_11_sub_xss_and_csrf_protection).
+
+Подфреймворк форм также предоставляет [встроенные методы 
защиты](#chapter_11_sub_built_in_security_features).
+
+Формы
+-----
+
+Поскольку работа с формами - это одна из самых утомительных работ для 
разработчика,
+Symfony предоставляет [подфреймворк форм](#chapter_10_the_form_framework). 
Фреймворк
+форм поставляется с большим количеством 
[виджетов](http://www.Symfony-project.org/api/1_4/widget)
+и [валидаторов](http://www.Symfony-project.org/api/1_4/validator). Одним из 
достоинств
+подфреймворка форм является тот факт, что шаблоны очень легко
+[настраиваются](#chapter_10_sidebar_customizing_the_look_and_feel_of_a_form).
+
+Если Вы используете ##ORM##, фреймворк форм, также сделает проще
+<propel>
+[генерацию форм и фильтров](#chapter_10_propel_forms) на основе ваших моделей.
+</propel>
+<doctrine>
+[генерацию форм и фильтров](#chapter_10_doctrine_forms) на основе ваших 
моделей.
+</doctrine>
+
+Интернационализация и Локализация
+---------------------------------
+
+[Интернационализация](#chapter_19_internationalization) и 
[локализация](#chapter_19_localization)
+поддерживаются в Symfony благодаря стандарту ICU. ["Локаль 
пользователя"](#chapter_19_sub_the_user_culture)
+определяет язык и страну пользователя. Она может быть определена
+самим пользователем, или быть встроенной в 
[URL](#chapter_19_culture_in_the_url).
+
+Тесты
+-----
+
+Библиотека lime, используемая для **модульных тестов**, предоставляет большое 
количество
+[методов 
тестирования](#chapter_08_the_lime_lime_testing_framework_testing_framework).
+<propel>
+[Объекты Propel также могут быть тестированны](#chapter_08_propel_unit_tests) 
при помощи
+</propel>
+<doctrine>
+[Объекты Doctrine также могут быть 
тестированны](#chapter_08_doctrine_unit_tests) при помощи
+</doctrine>
+[выделенной базы данных](#chapter_08_sub_database_configuration) с 
использованием
+выделенных [начальных данных](#chapter_08_sub_test_data).
+
+Модульные тесты могут быть запущены либо 
[по-одному](#chapter_08_running_unit_tests),
+либо [все сразу](#chapter_08_unit_tests_harness).
+
+**Функциональные тесты** пишутся с использованием класса
+[`sfFunctionalTest`](#chapter_09_the_sftestfunctional_class), который 
использует
+[эмулятор браузера](#chapter_09_the_sfbrowser_class) и позволяет выполнять
+интроспекцию основных объектов Symfony при помощи 
+[тестеров](#chapter_09_the_sftestfunctional_class). Существуют тестеры для
+[запроса](#chapter_09_sub_the_request_tester), 
+[ответа](#chapter_09_sub_the_response_tester), 
+[пользователя](#chapter_13_user_testing), 
+[текущей формы](#chapter_11_the_form_tester), 
+[слоя кэша](#chapter_21_testing_the_cache_testing_cache) и
+<propel>
+[Propel объектов](#chapter_11_the_propel_tester).
+</propel>
+<doctrine>
+[Doctrine объектов](#chapter_11_the_doctrine_tester).
+</doctrine>
+
+Вы тааже можете использовать средства отладки для
+[ответа](#chapter_09_debugging_functional_tests)
+и [форм](#chapter_11_the_form_tester).
+
+Также, как и модульные тесты, функциональные тесты могут запускаться
+[по-одному](#chapter_09_running_functional_tests) или
+[все вместе](#chapter_09_functional_tests_harness).
+
+Такж Вы можете запустить [все тесты сразу](#chapter_09_tests_harness).
+
+Плагины
+-------
+
+Symfony предоставляет только фундамент для Вашего веб-приложения, и
+опирается на [плагины](#chapter_20_using_plugins), когда дело касается 
добавления
+дополнительных возможностей. В этом учебнике, мы говорили о 
[`sfGuardPlugin`](#chapter_13_plugins),
+[`sfFormExtraPlugin`](#chapter_19_language_switching) и
+[`sfTaskExtraPlugin`](#chapter_20_contributing_a_plugin).
+
+Плагин должен быть [активирован](#chapter_20_sidebar_plugin_activation) после 
установки.
+
+Плагин - это лучший способ [внести свой 
вклад](#chapter_20_contributing_a_plugin)
+в проект Symfony.
+
+Задачи
+------
+
+Интерфейс командной строки Symfony (CLI) предоставляет много задач (tasks),
+и самые полезные из них, мы обсуждали в наших уроках.
+
+ * [`app:routes`](#chapter_05_route_debugging)
+ * [`cache:clear`](#chapter_21_clearing_the_cache)
+ * [`configure:database`](#chapter_03_the_database)
+ * [`generate:project`](#chapter_01_sub_project_creation)
+ * [`generate:app`](#chapter_01_sub_application_creation)
+ * [`generate:module`](#chapter_07_job_category_module_creation)
+ * [`help`](#chapter_03_the_orm)
+ * [`i18n:extract`](#chapter_19_sub_i18n_extract)
+ * [`list`](#chapter_13_backend_security)
+ * [`plugin:install`](#chapter_13_plugins)
+ * [`plugin:publish-assets`](#chapter_20_sub_the_assets)
+ * [`project:deploy`](#chapter_22_sub_deploying_strategies)
+ * [`propel:build-all`](#chapter_03_the_orm)
+ * [`propel:build-all-load`](#chapter_07_update_the_database)
+<propel>
+ * [`propel:build-forms`](#chapter_10_propel_forms)
+</propel>
+<doctrine>
+ * [`doctrine:build --forms`](#chapter_10_doctrine_forms)
+</doctrine>
+ * [`propel:build-model`](#chapter_03_the_orm)
+ * [`propel:build-sql`](#chapter_03_the_orm)
+ * [`propel:data-load`](#chapter_03_the_initial_data)
+ * [`propel:generate-admin`](#chapter_12_backend_modules)
+ * [`propel:generate-module`](#chapter_03_see_it_in_action_in_the_browser)
+ * [`propel:insert-sql`](#chapter_03_the_orm)
+ * [`test:all`](#chapter_09_tests_harness)
+ * [`test:coverage`](#chapter_08_sidebar__code_coverage_)
+ * [`test:functional`](#chapter_09_running_functional_tests)
+ * [`test:unit`](#chapter_08_running_unit_tests)
+
+Вы также можете [создавать свои собственные 
задачи](#chapter_11_maintenance_tasks).
+
+До скорого!
+-----------
+
+### Обучение на практике
+
+Symfony также, как и любое программное обеспечение, имеет кривую обучения. В
+процессе обучения первый шаг - изучение на практических примерах при помощи
+такой книги, как эта. Второй шаг - это **практика**. Ничто и никогда не 
заменит 
+практику.
+
+Именно этим Вы можете сегодня заняться. Подумайте о простейшем веб-проекте,
+предоставляющем одну из следующих возможностей: список задач для выполнения, 
простой блог, конвертер
+времени или валют и т.д... Выберите одну и начните реализовывать, используя те 
знания, которые
+Вы имеете сегодня. Используйте подсказки задач командной строки, чтобы изучить 
разные их параметры, 
+изучайте код, сгенерированный Symfony, используйте текстовый редактор, который 
имеет возможность 
+автодополнения для PHP, например [Eclipse](http://www.eclipse.org/), 
обращайтесь к 
+[справочному руководству](http://www.symfony-project.org/reference/1_4/), 
чтобы изучить
+конфигурационные возможности фреймворка.
+
+Используйте любой доступный материал, чтобы узнать больше о Symfony.
+
+### Сообщество
+
+Перед тем как закончить, я хотел бы поговорить насчет одной вещи, касающейся 
Symfony.
+У фреймворка есть много замечательных возможностей и бесплатной документации.
+Но один из важнейших аспектов, который может иметь Open-Source проект,
+ это его сообщество. И у Symfony одно из самых изумителных и активных 
сообществ.
+Если Вы начинаете использовать Symfony для своих проектов, подумайте насчет
+вступления в это сообщество:
+
+  * Подпишитесь на [пользовательскую 
рассылку](http://groups.google.com/group/Symfony-users)
+  * Подпишитесь на оффициальную [ленту 
блога](http://feeds.feedburner.com/Symfony/blog)
+  * Подпишитесь на Symfony [ленту 
planet](http://feeds.feedburner.com/Symfony/planet)
+  * Заходите и общайтесь онлайн [#Symfony IRC](irc://irc.freenode.net/Symfony) 
канал на freenode.
+
+__ORM__

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.


Reply via email to