Development

Documentation/ru_RU/book/1.0/03-Running-Symfony (diff)

You must first sign up to be able to contribute.

Changes between Version 10 and Version 11 of Documentation/ru_RU/book/1.0/03-Running-Symfony

Show
Ignore:
Author:
kmike (IP: 217.114.238.161)
Timestamp:
07/16/08 21:43:35 (9 years ago)
Comment:

знаки препинания

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/ru_RU/book/1.0/03-Running-Symfony

    v10 v11  
    55=========================== 
    66 
    7 Как стало ясным из предыдущих глав, фреймворк symfony это совокупность файлов написанных на PHP. Их использует проект symfony. Установить symfony означает получить эти файлы и сделать их доступными для проекта. 
     7Как стало ясным из предыдущих глав, фреймворк symfony - это совокупность файлов, написанных на PHP. Их использует проект symfony. Установить symfony означает получить эти файлы и сделать их доступными для проекта. 
    88 
    99Symfony нужен PHP5, так как фреймворк написан на PHP5. Убедится в том, что PHP установлен, можно набрав в консоли команду: 
    2424>sandbox — (англ.) песочница для детских игр 
    2525 
    26 Если вы хотите увидеть на что способен symfony, возможно понадобится быстрая установка. В таком случае, вам подойдет sandbox. 
    27  
    28 Sandbox это обыкновенный архив. Он содержит пустой проект symfony, и включает в себя все необходимые библиотеки (symfony, pake, lime, Creole, Propel, и Phing), стандартное приложение (default application), и базовую конфигурацию. Для работы sandbox версии, не нужны какие либо специфические настройки сервера или дополнительные пакеты. 
    29  
    30 Для установки скачайте sandbox архив по ссылке http://www.symfony-project.com/get/sf_sandbox.tgz и распакуйте в корневую web директорию вашего сервера (обычно web/ или www/; проще говоря, в директорию на которую указывает DocumentRoot). Для простоты изложения будем считать, что архив был распакован в директорию sf_sandbox/. 
     26Если вы хотите увидеть, на что способен symfony, возможно, понадобится быстрая установка. В таком случае, вам подойдет sandbox. 
     27 
     28Sandbox - это обыкновенный архив. Он содержит пустой проект symfony и включает в себя все необходимые библиотеки (symfony, pake, lime, Creole, Propel и Phing), стандартное приложение (default application) и базовую конфигурацию. Для работы sandbox-версии не нужны какие либо специфические настройки сервера или дополнительные пакеты. 
     29 
     30Для установки скачайте sandbox архив по ссылке http://www.symfony-project.com/get/sf_sandbox.tgz и распакуйте в корневую web директорию вашего сервера (обычно web/ или www/; проще говоря, в директорию, на которую указывает DocumentRoot). Для простоты изложения будем считать, что архив был распакован в директорию sf_sandbox/. 
    3131 
    3232>**CAUTION** 
    5252 
    5353 
    54 Вы должны увидеть поздравительную страницу (congratulations page), изображненную на Рисунке 3-1. Это означает что установка завершена. Если странички нет, сообщение об ошибке подскажет какие изменения в настройках необходимы. Также можно обратиться к разделу "Устранение неисправностей" этой главы. 
     54Вы должны увидеть поздравительную страницу (congratulations page), изображненную на Рисунке 3-1. Это означает что установка завершена. Если странички нет, сообщение об ошибке подскажет, какие изменения в настройках необходимы. Также можно обратиться к разделу "Устранение неисправностей" этой главы. 
    5555 
    5656Рисунок 3-1 – Поздравительная страница sandbox 
    5858![Поздравительная страница sandbox](/images/book/F0301.jpg "Поздравительная страница sandbox") 
    5959 
    60 Sandbox предназначен для тренировки с symfony на локальной машине, а не для разработки сложных приложений, которые должны реально работать в сети. Однако, версия symfony заключенная в sandbox полнофункциональна и эквивалентна версии, которую можно установить через PEAR. 
     60Sandbox предназначен для тренировки с symfony на локальной машине, а не для разработки сложных приложений, которые должны реально работать в сети. Однако, версия symfony, заключенная в sandbox, полнофункциональна и эквивалентна версии, которую можно установить через PEAR. 
    6161 
    6262Чтобы удалить sandbox, просто удалите директорию sf_sandbox/. 
    6565--------------------------- 
    6666 
    67 Когда вы будете разрабатывать приложение, вам возможно понадобится установить symfony дважды: один раз на рабочую машину (development environment), и еще один раз на хостинг (host server). Для каждого случая, можно избежать повторений, и хранить все файлы symfony в одном месте, независимо от того, разрабатывайте вы одно приложение или несколько.  
     67Когда вы будете разрабатывать приложение, вам, возможно, понадобится установить symfony дважды: один раз на рабочую машину (development environment), и еще один раз на хостинг (host server). Для каждого случая, можно избежать повторений, и хранить все файлы symfony в одном месте, независимо от того, разрабатывайте вы одно приложение или несколько.  
    6868 
    6969Symfony развивается очень быстро, новая стабильная версия (stable version) может появится всего через несколько дней после вашей первой установки фреймворка. И в ваших интересах как можно быстрее обновить (upgrade) symfony. Это еще одна причина, по которой все проекты должны использовать один экземпляр библиотек symfony. 
    8686### Установка Symfony через PEAR 
    8787 
    88 Пакет symfony в PEAR содержит библиотеки symfony, и все от чего они зависят. Он также содержит скрипт, который расширит возможности CLI, добавив команды symfony. Первый шаг установки — найти канал symfony в PEAR, с помощью команды: 
     88Пакет symfony в PEAR содержит библиотеки symfony, и все, от чего они зависят. Он также содержит скрипт, который расширит возможности CLI, добавив команды symfony. Первый шаг установки — найти канал symfony в PEAR с помощью команды: 
    8989 
    9090    > pear channel-discover pear.symfony-project.com 
    9191 
    92 Чтобы посмотреть список библиотек доступных через этот канал, воспользуйтесь командой: 
     92Чтобы посмотреть список библиотек, доступных через этот канал, воспользуйтесь командой: 
    9393 
    9494    > pear remote-list -c symfony 
    105105    install ok: channel://pear.symfony-project.com/symfony-1.0.0 
    106106 
    107 Вот и все. Файлы symfony и CLI теперь установлены. Убедится в том, что установка прошла успешно можно запросив версию фреймворка, через команду консоли: 
     107Вот и все. Файлы symfony и CLI теперь установлены. Убедится в том, что установка прошла успешно, можно, запросив версию фреймворка через команду консоли: 
    108108 
    109109    > symfony -V 
    119119 
    120120  * `$php_dir/symfony/` содержит основные библиотеки. 
    121   * `$data_dir/symfony/` содержит базовую структуру для приложений symfony; стандартные модули (default modules); и настройки, данные i18n, и пр. 
     121  * `$data_dir/symfony/` содержит базовую структуру для приложений symfony; стандартные модули (default modules); настройки, данные i18n, и пр. 
    122122  * `$doc_dir/symfony/` содержит документацию. 
    123123  * `$test_dir/symfony/` содержит юнит тесты. 
    136136    > svn checkout http://svn.symfony-project.com/tags/RELEASE_1_0_0/ . 
    137137 
    138 Команды symfony, доступные в случае установки через PEAR, фактически вызывают скрипт /path/to/symfony/data/bin/symfony. То есть, следующее будет эквивалентным команде `symfony –V` : 
     138Команды symfony, доступные в случае установки через PEAR, фактически вызывают скрипт /path/to/symfony/data/bin/symfony. То есть следующее будет эквивалентным команде `symfony –V` : 
    139139 
    140140    > php /path/to/symfony/data/bin/symfony -V 
    142142    symfony version 1.0.0 
    143143 
    144 Если вы выбрали установку через SVN, то возможно у вас уже есть проект symfony. Для того чтобы проект мог использовать все необходимые библиотеки, нужно задать две переменные в файле config/config.php как показано ниже: 
     144Если вы выбрали установку через SVN, то, возможно, у вас уже есть проект symfony. Для того, чтобы проект мог использовать все необходимые библиотеки, нужно задать две переменные в файле config/config.php, как показано ниже: 
    145145 
    146146    [php] 
    158158------------------- 
    159159 
    160 Как стало ясно из Главы 2, связанные между собой приложения содержатся в одном проекте. Все приложения проекта используют базу данных. Для того чтобы создать приложение, сначала нужно создать проект. 
     160Как стало ясно из Главы 2, связанные между собой приложения содержатся в одном проекте. Все приложения проекта используют базу данных. Для того, чтобы создать приложение, сначала нужно создать проект. 
    161161 
    162162### Создание Проекта 
    163163 
    164 Любой проект symfony имеет определенную файловую структуру. Благодаря командам консоли создание проекта автоматизировано — symfony сам построит дерево директорий и выставит права доступа. Чтобы создать проект нужно создать новую директорию и воспользоваться командой symfony. 
    165  
    166 В случае установки через PEAR, следует использовать такие команды: 
     164Любой проект symfony имеет определенную файловую структуру. Благодаря командам консоли создание проекта автоматизировано — symfony сам построит дерево директорий и выставит права доступа. Чтобы создать проект, нужно создать новую директорию и воспользоваться командой symfony. 
     165 
     166В случае установки через PEAR следует использовать такие команды: 
    167167 
    168168    > mkdir ~/myproject 
    193193 
    194194>**TIP** 
    195 >Команда `init-project` добавит скрипт `symfony` в корень проекта. Этот php скрипт делает то же, что и команды `symfony` установленные через PEAR. Теперь вы можете вызывать `php symfony` вместо `symfony`, если использовать команды консоли `symfony` нельзя (в случае установки через SVN). 
     195>Команда `init-project` добавит скрипт `symfony` в корень проекта. Этот php скрипт делает то же, что и команды `symfony`, установленные через PEAR. Теперь вы можете вызывать `php symfony` вместо `symfony`, если использовать команды консоли `symfony` нельзя (в случае установки через SVN). 
    196196 
    197197### Создание Приложения (Application) 
    198198 
    199 Пока что проект пуст и смотреть в нем нечего. Нужно создать хотя бы одно приложение (application). Чтоб инициализировать приложение (application) используйте команду `symfony init-app`, дописав в качестве аргумента имя: 
     199Пока что проект пуст и смотреть в нем нечего. Нужно создать хотя бы одно приложение (application). Чтоб инициализировать приложение (application), используйте команду `symfony init-app`, дописав в качестве аргумента имя: 
    200200 
    201201    > symfony init-app myapp 
    211211        templates/ 
    212212 
    213 Также в папке `web/` будут созданы два PHP файла соответствующее двум фронт-контроллерам (front controller) — по одному на режим:  
     213Также в папке `web/` будут созданы два PHP файла, соответствующее двум фронт-контроллерам (front controller) — по одному на режим:  
    214214 
    215215    web/ 
    217217      myapp_dev.php 
    218218 
    219 `Index.php` это фронт-контроллер свежесозданного приложения, соответствующий рабочей среде (production front controller). Так как myapp это первое приложение, symfony создал файл `index.php` вместо `myapp.php` (В дальнейшем, если вы, например, создадите приложение newmyapp, новый рабочий фронт-контроллер будет называться newmyapp.php). Для того чтобы запустить приложение в режиме разработки (development environment), запустите myapp_dev.php. Вы узнаете больше об этих режимах в Главе 5. 
     219`Index.php` - это фронт-контроллер свежесозданного приложения, соответствующий рабочей среде (production front controller). Так как myapp - это первое приложение, symfony создал файл `index.php` вместо `myapp.php` (В дальнейшем, если вы, например, создадите приложение newmyapp, новый рабочий фронт-контроллер будет называться newmyapp.php). Для того, чтобы запустить приложение в режиме разработки (development environment), запустите myapp_dev.php. Вы узнаете больше об этих режимах в Главе 5. 
    220220 
    221221<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    232232--------------------- 
    233233 
    234 Скрипты хранящиеся в директории `web/` это точки входа в приложение. Для того чтоб пользователь мог достичь их из Internet, необходимо настроить веб сервер. На вашем сервере разработки, так же как и на профессиональных хостингах, у вас возможно есть доступ к настройкам Apache и вы можете настроить свой виртуальный хост (virtual host). Но в случае shared-host сервера, вы располагаете только файлом .htaccess. 
     234Скрипты, хранящиеся в директории `web/`, - это точки входа в приложение. Для того, чтоб пользователь мог достичь их из Internet, необходимо настроить веб сервер. На вашем сервере разработки, так же как и на профессиональных хостингах, у вас, возможно, есть доступ к настройкам Apache, и вы можете настроить свой виртуальный хост (virtual host). Но в случае shared-host сервера вы располагаете только файлом .htaccess. 
    235235 
    236236### Настройка Виртуального Хоста 
    256256 
    257257 
    258 В листинге 3-1, путь `/path/to/symfony/data` нужно заменить на реальный путь. Например, в случае PEAR установки и *nix системы, будет что-то вроде этого: 
     258В листинге 3-1, путь `/path/to/symfony/data` нужно заменить на реальный путь. Например, в случае PEAR установки и *nix системы будет что-то вроде этого: 
    259259 
    260260        Alias /sf /usr/local/lib/php/data/symfony/web/sf 
    261261 
    262262>**NOTE** 
    263 >Прописывать alias для директории web/sf/ не обязательно. Но этот alias позволит Apache находить изображения, таблицы стилей, и .js файлы. Все это понадобится для панели отладки, генератора админинтерфейса, стандартных страничек symfony, и для использования Ajax. Как альтернатива alias можно создать символическую ссылку (symbolic link, symlink) или же скопировать директорию `/path/to/symfony/data/web/sf/` в `myproject/web/sf/`. 
    264  
    265 Осталось только перезапустить Apache и все. Новое приложение можно вызвать, набрав в браузере URL: 
     263>Прописывать alias для директории web/sf/ не обязательно. Но этот alias позволит Apache находить изображения, таблицы стилей и .js файлы. Все это понадобится для панели отладки, генератора админинтерфейса, стандартных страничек symfony и для использования Ajax. Как альтернатива alias, можно создать символическую ссылку (symbolic link, symlink), или же скопировать директорию `/path/to/symfony/data/web/sf/` в `myproject/web/sf/`. 
     264 
     265Осталось только перезапустить Apache - и все. Новое приложение можно вызвать, набрав в браузере URL: 
    266266 
    267267    http://localhost/myapp_dev.php/ 
    268268 
    269 Вы должны увидеть поздравительную страницу похожую на ту, что была приведена выше на Рисунке 3-1. 
     269Вы должны увидеть поздравительную страницу, похожую на ту, что была приведена выше на Рисунке 3-1. 
    270270 
    271271>**SIDEBAR** 
    274274>Symfony использует URL rewriting для отображения «красивых url» (smart URLs) — осмысленные адреса, удобные для поисковых машин (search engine), скрывают всю техническую информацию от пользователя. Подробнее об этой возможности (routing) в Главе 9. 
    275275> 
    276 >Если ваш Apache скомпилирован без модуля mod_rewrite, убедитесь что у вас есть установленный mod_rewrite Dynamic Shared Object (DSO), и следующие строки присутствуют в `httpd.conf`: 
     276>Если ваш Apache скомпилирован без модуля mod_rewrite, убедитесь, что у вас есть установленный mod_rewrite Dynamic Shared Object (DSO), и следующие строки присутствуют в `httpd.conf`: 
    277277> 
    278278> 
    281281> 
    282282> 
    283 >Для Internet Information Services (IIS), вам понадобится установленный и запущенный isapi/rewrite. Детальная инструкция по установке для IIS доступна на сайте проекта. 
     283>Для Internet Information Services (IIS) вам понадобится установленный и запущенный isapi/rewrite. Детальная инструкция по установке для IIS доступна на сайте проекта. 
    284284 
    285285### Настройка Shared-Host Сервера 
    288288 
    289289>**CAUTION** 
    290 >Заниматься разработкой и тестированием непосредственно на shared-host — плохая привычка. Одна из причин — приложение еще не закончено, но уже доступно извне. Это открывает внутреннюю работу и делает видимыми дыры в системе безопасности (security). Еще одна причина — shared-host часто не обеспечивает достаточного быстродействия для работы над приложением с использованием инструментов отладки. Вы не должны начинать разработку с установки на shared-host, лучше работать над приложением на своей локальной машине, и после того как проект будет закончен, установить его на shared-host. Глава 16 описывает методы и средства установки проекта на реальные сервера. 
     290>Заниматься разработкой и тестированием непосредственно на shared-host — плохая привычка. Одна из причин — приложение еще не закончено, но уже доступно извне. Это открывает внутреннюю работу и делает видимыми дыры в системе безопасности (security). Еще одна причина — shared-host часто не обеспечивает достаточного быстродействия для работы над приложением с использованием инструментов отладки. Вы не должны начинать разработку с установки на shared-host, лучше работать над приложением на своей локальной машине и после того, как проект будет закончен, установить его на shared-host. Глава 16 описывает методы и средства установки проекта на реальные сервера. 
    291291 
    292292Представим на минутку, что web директория на shared-host называется `www/` вместо `web/`, и что у вас есть доступ только к файлу `.htaccess`, но не к httpd.conf. 
    337337>Другие Настройки Сервера 
    338338> 
    339 >Symfony может быть настроен и про другому. Например, можно использовать alias вместо виртуального хоста (virtual host), для настройки сервера. Также можно запускать приложения symfony на сервере IIS. Путей много, их описание не является целью этой книги.  
     339>Symfony может быть настроен и пр-другому. Например, можно использовать alias вместо виртуального хоста (virtual host) для настройки сервера. Также можно запускать приложения symfony на сервере IIS. Путей много, их описание не является целью этой книги.  
    340340> 
    341341>Обратитесь к wiki (http://www.symfony-project.com/trac/wiki), если вас интересуют специфические конфигурации сервера. Wiki содержит много пошаговых туториалов и инструкций. 
    344344------------------------------------ 
    345345 
    346 Если вы столкнулись с проблемами во время установки, попытайтесь извлечь максимальную пользу из информации об ошибках, которая будет отображена в вашем браузере или консоли (шелле). Часто эта информация содержит необходимые объяснения, или даже ссылки на конкретные веб странички посвященные данной ошибке. 
     346Если вы столкнулись с проблемами во время установки, попытайтесь извлечь максимальную пользу из информации об ошибках, которая будет отображена в вашем браузере или консоли (шелле). Часто эта информация содержит необходимые объяснения или даже ссылки на конкретные веб странички, посвященные данной ошибке. 
    347347 
    348348### Типичные проблемы 
    350350Если у вас все еще есть проблемы с запуском symfony, проверьте следующее: 
    351351   
    352   * Некоторые установки php включают в себя команды PHP4 и PHP5. В этом случае в консоли следует использовать не `php`, а `php5`. Попробуйте вызвать `php5 symfony` вместо команды `symfony`. Возможно еще понадобится добавить `SetEnv PHP_VER 5` в настройки .htaccess, или переименовать скрипты директории `web/` с `.php` на `php5`. Ошибка, которую выдает PHP4, пытаясь получить доступ к symfony, выглядит примерно так: 
     352  * Некоторые установки php включают в себя команды PHP4 и PHP5. В этом случае в консоли следует использовать не `php`, а `php5`. Попробуйте вызвать `php5 symfony` вместо команды `symfony`. Возможно, еще понадобится добавить `SetEnv PHP_VER 5` в настройки .htaccess, или переименовать скрипты директории `web/` с `.php` на `php5`. Ошибка, которую выдает PHP4, пытаясь получить доступ к symfony, выглядит примерно так: 
    353353 
    354354        Parse error, unexpected ',', expecting '(' in .../symfony.php on line 19. 
    358358        Allowed memory size of 8388608 bytes exhausted 
    359359 
    360   * Настройка `zend.ze1_compatibility_mode` в php.ini должна быть отключена (выставлено значение `off`). Если же эта установка включена, то при попытке запустить скрипт в браузере, возникнет ошибка "implicit cloning": 
     360  * Настройка `zend.ze1_compatibility_mode` в php.ini должна быть отключена (выставлено значение `off`). Если же эта установка включена, то при попытке запустить скрипт в браузере возникнет ошибка "implicit cloning": 
    361361 
    362362        Strict Standards: Implicit cloning object of class 'sfTimer'because of 'zend.ze1_compatibility_mode' 
    366366        sfCacheException [message] Unable to write cache file"/usr/myproject/cache/frontend/prod/config/config_config_handlers.yml.php" 
    367367 
    368   * Include path вашей системы должен содержать путь к команде `php`, а include path в `php.ini` путь к PEAR (если вы используйте PEAR). 
     368  * Include path вашей системы должен содержать путь к команде `php`, а include path в `php.ini` - путь к PEAR (если вы используйте PEAR). 
    369369 
    370370  * Иногда сервер использует несколько `php.ini` (например, в случае пакета WAMP). Вызовите `phpinfo()`, чтоб узнать какой именно `php.ini` используется вашим приложением. 
    371371 
    372372>**NOTE** 
    373 >Для улучшения быстродействия, настоятельно рекомендуется выставить установки `magic_quotes_gpc` и `register_globals` на значение `off` в вашем `php.ini` 
     373>Для улучшения быстродействия настоятельно рекомендуется выставить установки `magic_quotes_gpc` и `register_globals` на значение `off` в вашем `php.ini` 
    374374 
    375375### Ресурсы Symfony 
    376376 
    377 Возможно кто-то уже сталкивался с вашей проблемой, и для нее уже есть готовые решения. Поискать их можно тут: 
    378  
    379   * Форум symfony посвященный установке (http://www.symfony-project.com/forum/) содержит много информации касательно платформ, установки 
     377Возможно, кто-то уже сталкивался с вашей проблемой, и для нее уже есть готовые решения. Поискать их можно тут: 
     378 
     379  * Форум symfony, посвященный установке (http://www.symfony-project.com/forum/), содержит много информации касательно платформ, установки 
    380380на хост, окружения (environment), настроек и т. д. 
    381381  * Можно найти ответ на свой вопрос в архивах писем из рассылки (users mailing-list) по адресу http://groups.google.fr/group/symfony-users. 
    382   * Wiki (http://www.symfony-project.com/trac/wiki#Installingsymfony) содержит пошаговые туториалы и инструкции об установке, написанные пользователями. 
    383  
    384 Если вы все же не нашли решения свей проблемы, вынесете ее на обсуждение в сообщество symfony (symfony community). Вы можете задать вопрос на форуме, отослать письмо в список рассылки (mailing list), или даже обсудить все вживую с наиболее активными участниками сообщества в IRC канале #symfony. 
     382  * Wiki (http://www.symfony-project.com/trac/wiki#Installingsymfony) содержит пошаговые туториалы и инструкции по установке, написанные пользователями. 
     383 
     384Если вы все же не нашли решения свей проблемы, вынесите ее на обсуждение в сообщество symfony (symfony community). Вы можете задать вопрос на форуме, отослать письмо в список рассылки (mailing list) или даже обсудить все вживую с наиболее активными участниками сообщества в IRC канале #symfony. 
    385385 
    386386Контроль Версий (Source Versioning) 
    387387----------------------------------- 
    388388 
    389 После того как проект создан рекомендуется начать процесс контроля версий (source versioning). Система контроля версий хранит след всех изменений сделанных в коде, обеспечивает доступ к предыдущим версиям проекта, упрощает наложение заплаток (patching), и обеспечивает эффективную работу команды. Symfony поддерживает CVS, хотя рекомендуется использовать Subversion (http://subversion.tigris.org/). Следующие примеры иллюстрируют команды Subversion, и подразумевают, что вы уже установили сервер Subversion и теперь хотите создать новый репозиторий для вашего проекта. Для пользователей Windows рекомендуется использовать клиент TortoiseSVN (http://tortoisesvn.tigris.org/). Обратитесь к документации Subversion, чтоб узнать больше о контроле версий и используемых командах. 
     389После того, как проект создан, рекомендуется начать процесс контроля версий (source versioning). Система контроля версий хранит след всех изменений, сделанных в коде, обеспечивает доступ к предыдущим версиям проекта, упрощает наложение заплаток (patching) и обеспечивает эффективную работу команды. Symfony поддерживает CVS, хотя рекомендуется использовать Subversion (http://subversion.tigris.org/). Следующие примеры иллюстрируют команды Subversion, и подразумевают, что вы уже установили сервер Subversion и теперь хотите создать новый репозиторий для вашего проекта. Для пользователей Windows рекомендуется использовать клиент TortoiseSVN (http://tortoisesvn.tigris.org/). Обратитесь к документации Subversion, чтоб узнать больше о контроле версий и используемых командах. 
    390390 
    391391<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    402402 
    403403<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    404 В дальнейшем важно понимать, что и репозиторий и проект, который мы стремимся добавить в репозиторий, находятся на одной машине. <br> 
     404В дальнейшем важно понимать, что и репозиторий, и проект, который мы стремимся добавить в репозиторий, находятся на одной машине. <br> 
    405405<p align="right"> 
    406406переводчик 
    424424    > svn import -m "initial import" . file:///$SVNREP_DIR/myproject/trunk 
    425425 
    426 Проверим успешно ли прошла передача файлов, набрав в консоли: 
     426Проверим, успешно ли прошла передача файлов, набрав в консоли: 
    427427 
    428428    > svn ls file:///$SVNREP_DIR/myproject/trunk/ 
    429429 
    430 Похоже все прошло успешно. Теперь в репозитории хранится контрольная версия (и история) всех файлов вашего проекта. Далее нужно установить соответствие между файлами исходной папки `/myproject/` и файлами хранящимися в репозитории. Чтобы сделать это, прежде всего переименуйте директорию `myproject/` (если все пойдет по плану, скоро вы ее удалите) и сделайте checkout в новую директорию. 
     430Похоже, все прошло успешно. Теперь в репозитории хранится контрольная версия (и история) всех файлов вашего проекта. Далее нужно установить соответствие между файлами исходной папки `/myproject/` и файлами, хранящимися в репозитории. Чтобы сделать это, прежде всего переименуйте директорию `myproject/` (если все пойдет по плану, скоро вы ее удалите) и сделайте checkout в новую директорию. 
    431431 
    432432<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    433 Прокомментирую этот абзац. Дело в том, что после импорта проекта в репозиторий, соответствие межу файлами исходного проекта и файлами проекта хранящегося в репозитории все еще не установлено. Чтобы установить это соответствие исходная директория с проектом удаляется, и делается checkout в новую директорию. Таким образом, в новую папку скачиваются файлы проекта из репозитория, и в итоге мы имеем рабочую версию проекта, "связанную" с проектом хранящимся в репозитории. 
     433Прокомментирую этот абзац. Дело в том, что после импорта проекта в репозиторий соответствие межу файлами исходного проекта и файлами проекта, хранящегося в репозитории, все еще не установлено. Чтобы установить это соответствие исходная директория с проектом удаляется и делается checkout в новую директорию. Таким образом, в новую папку скачиваются файлы проекта из репозитория, и в итоге мы имеем рабочую версию проекта, "связанную" с проектом, хранящимся в репозитории. 
    434434<br> 
    435435<p align="right"> 
    443443    > ls myproject 
    444444 
    445 Вот и все. Теперь вы можете работать с файлами в папке `/myproject/`, и фиксировать (commit) изменения в репозитории. Не забудьте удалить бесполезную теперь директорию `myproject.origin/`. 
     445Вот и все. Теперь вы можете работать с файлами в папке `/myproject/` и фиксировать (commit) изменения в репозитории. Не забудьте удалить бесполезную теперь директорию `myproject.origin/`. 
    446446 
    447447Осталось сделать последние шаги. Если вы фиксируйте (commit) вашу рабочую версию в репозитории, то будут переданы и нежелательные файлы, такие как файлы папок `cache/` и `log/`. Поэтому нужно задать перечень директорий и файлов которые нужно игнорировать (ignore list). Также нужно снова выставить права на запись для папок `cache/` и `log/`. 
    453453    > svn propedit svn:ignore cache 
    454454 
    455 Должен открыться, заданный для SVN, текстовый редактор по умолчанию. Если этого не произошло, используйте ваш любимый редактор, прописав его в команде: 
     455Должен открыться заданный для SVN текстовый редактор по умолчанию. Если этого не произошло, используйте ваш любимый редактор, прописав его в команде: 
    456456 
    457457    > export SVN_EDITOR=<name of editor> 
    470470Чтоб играться и исследовать symfony больше всего подходит заранее настроенный sandbox. 
    471471 
    472 Установка через PEAR или через SVN подойдет для реальной разработки, или в случае установки на сервер. Вы получите установленные библиотеки symfony, но вам понадобится создать проект и приложение самому. Последний шаг — конфигурация веб сервера, которая допускает множество вариантов. Symfony отлично работает если настроить виртуальный хост (virtual host), именно это решение рекомендовано. 
     472Установка через PEAR или через SVN подойдет для реальной разработки и в случае установки на сервер. Вы получите установленные библиотеки symfony, но вам понадобится создать проект и приложение самому. Последний шаг — конфигурация веб сервера, которая допускает множество вариантов. Symfony отлично работает, если настроить виртуальный хост (virtual host), именно это решение рекомендовано. 
    473473 
    474474Если в процессе установки возникли ошибки, вы можете найти множество туториалов и ответов на часто задаваемые вопросы на сайте symfony. Если решение не найдено, обсудите вашу проблему в сообществе symfony, и вы быстро получите нужный ответ.