Showing posts with label Symfony 2. Show all posts
Showing posts with label Symfony 2. Show all posts

Saturday, October 12, 2013

Symfony 2 - Работа с ресурсами (CSS, JS, картинки)

UPDATE 3
Assetic manager очень глючно работает под виндоус. То генерирует файлы, то перестаёт это делать.


UPDATE Symfony 2.3

Добавляем ресурсы используя ассетик мэнеджер.
1. Ложим необходимые файлы в наш бандл (прим. AmAppBundle) по адресу: AmAppBundle/resources/public/css|js
2. Меняем в app/config.yml следующую строку:
assetic:
    bundles:        [ AmAppBundle ]
3. В шаблоне прописываем наши ксс/йс файлы:
        {% javascripts
            '@AMAppBundle/Resources/public/js/jquery-2.0.3.min.js'
            '@AMAppBundle/Resources/public/js/bootstrap.min.js'
        %}
            <script type="text/javascript" src="{{ asset_url }}"></script>
        {% endjavascripts %}
        {% stylesheets filter='cssrewrite'
            '@AMAppBundle/Resources/public/css/bootstrap.min.css'
            '@AMAppBundle/Resources/public/css/bootstrap-theme.min.css'
        %}
            <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}
4. Пишем в cmd команду: php app/console assetic:dump --env=prod --no-debug (При добавлении новых файлов всегда следует применять эту команду. Как я понял, она генерит файлы для продакшена. Все скрипты генерятся в один файл (сжимаются для повышения производительности). Тоже самое проихсодит с ксс файлами.)
5. Пишем в cmd команду: php app/console cache:clear --env=prod --no-debug

У меня то работало, то не работало. Иногда всё было впорядке на деве, но продакшн отказывался генерить ксс и/или джс файлы.

Старый пост:

Ложим все необходимые ресурсы в папку бандла:
Symfony\src\bundlenamespace\bundlename\Resources\public\
 После выполяем команду, чтобы ресурсы были скопированы в директорию веб (к чему все эти трудности?) web - директория
$ php app/console assets:install web
Далее непосредственно в представлениях можно будет получить доступ к ресурсу следующим образом:
Twig:
<script src="{{ asset('bundles/bundlename/js/jquery.js') }}">

Также можно ложить фаилы в директорию Symfony/web/, откуда через команду {{ asset('file.css') }} можно получить к ним доступ.

Monday, June 17, 2013

Symfony 2 - Doctrine

Создаётся БД с названием из файла настроек параметров (Symfony/app/config/parameters.yml). В этом же файле необходимо настроить параметры подключения к БД
$ php app/console doctrine:database:create
Создаём класс-сущность для работы с БД. Поле id(AI) создаётся автоматически
$ php app/console doctrine:generate:entity --entity="AcmeStoreBundle:Product" --fields="name:string(255) price:float description:text"
Продолжение позже ...

Wednesday, June 12, 2013

Symfony 2 - Начало

Диплом защитил и впереди у меня целое лето, которое я как всегда могу полностью, пардон, потратить. Технология серверного яваскрипта (ноде) мне понравилась, но углублятся в неё я пока не вижу смысла. В сентябре я уже не поеду в свой колледж, соответственно нужно думать где и как заработать себе на жизнь. Мне нравится веб программирование и я люблю ЯП ПХП, даже не смотря на мнение "элитных" программистов.

Настраиваем хост в апаче (httpd.conf)
<VirtualHost 127.0.0.1:80>
  DocumentRoot "Y:/home/andymarrel.ee/www/Symfony/web" 
  ServerName "andymarrel.ee"
  ServerAlias "andymarrel.ee" "www.andymarrel.ee"
  ScriptAlias /cgi/ "/home/andymarrel.ee/cgi/"
  ScriptAlias /cgi-bin/ "/home/andymarrel.ee/cgi-bin/"
</VirtualHost>


Настраиваем переменные среды виндоус для работы с PHP:
Computer->properties->advanced->env. variables->(System variables/Path)edit->C:\xampp\php (директория с пхп)

Создаём бандл из папки .../www/Symfony/:
$ php app/console generate:bundle --namespace=Acme/HelloBundle --format=yml

Очищаем кэш если не удалось запустить приложение в режиме "продакшн":
$ php app/console cache:clear --env=prod --no-debug