Поиск по этому блогу

понедельник, 4 ноября 2013 г.

Symfony2: памятка по созданию нового проекта

Кладу здесь, чтоб каждый раз не вспоминать...

1. Обновляем композитора:
composer self-update

2. Запускаем композитора на установку Symfony Framevork 
composer create-project symfony/framework-standard-edition project/ 

3. Заходим в папку проекта
cd project

4. Удаляем содержимое папок кэша и логов:
rm -rf app/cache/*
rm -rf app/logs/*

5. "Правильно" задаём права на эти папки (ниже версия для OS X, для других – тут):
APACHEUSER=`ps aux | grep -E '[a]pache|[h]ttpd' | grep -v root | head -1 | cut -d\  -f1`

sudo chmod +a "$APACHEUSER allow delete,write,append,file_inherit,directory_inherit" 
app/cache app/logs

sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" 
app/cache app/logs

6. Инициализируем новый Git репозиторий и добавляем все файлы:
git init
git add -A .
git commit -m 'Initial commit'

7. Добавляем origin и отливаемся на сервер VCS:
git remote add origin ssh://git@git.kalachev.ru/ksn135/project.git

git push -u origin --all      

8. Очищаем кэш и публикуем assets:
app/console cache:clear
app/console assets:install --symlink
app/console assetic:dump --force
В этот момент мы имеем работающий в dev версии пустой сайт проекта по адресу http://project/app_dev.php

9. Добавляем propel и отключаем doctrine. Для начала правим app/config/config.yml
# Propel Configuration
propel:
    dbal:
        driver:     "%database_driver%"
        user:       "%database_user%"
        password:   "%database_password%"
        dsn:        "%database_driver%:host=%database_host%;dbname=%database_name%;charset=%database_charset%"
 
# Doctrine Configuration
# doctrine:
#     dbal:
#         driver:   %database_driver%
#         host:     %database_host%
#         port:     %database_port%
#         dbname:   %database_name%
#         user:     %database_user%
#         password: %database_password%
#         charset:  UTF8
#         # if using pdo_sqlite as your database driver, add the path in parameters.yml
#         # e.g. database_path: %kernel.root_dir%/data/data.db3
#         # path:     %database_path%
#     orm:
#         auto_generate_proxy_classes: %kernel.debug%
#         auto_mapping: true
10. Правим файл app/AppKernel.php убираем Doctrine и добавляем Propel:
            // new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
            new Propel\PropelBundle\PropelBundle(),
11. Правим конфигурацию композитора в файле composer.json.
Добавляем в секцию "require":
        "propel/propel-bundle": "1.2.*",
Убираем из секции "required":
        "doctrine/orm": ">=2.2.3,<2.4-dev",
        "doctrine/doctrine-bundle": "1.2.*",
Добавляем в секцию "config" следующую строку:
        "component-dir": "web/components", 
Добавляем в секцию "extra":
        "symfony-assets-install": "symlink",        
11. Запускаем композитора для обновления пакетов, согласно новой конфигурации:
composer update