Archiwa kategorii: Symfony2

Posty dotyczÄ?ce programowania aplikacji webowych w frameworku symfony2

meetphp-hires

errbitPHP – Monitorowanie i retencja b??Ä?d??w webaplikacji

Moja prezentacja z ostatniego meet.php #11. O monitorowanie b??Ä?d??w i ich retencji za pomocÄ? Airbrake Notifier Api. Przy u??yciu Errbit’a. Hostowanego na darmowym heroku. Co daje doskonoa??y efekt przy kosztach rzÄ?du godziny pracy przy deployu errbita na heroku.

Zapraszam do lektury.

Je??eli jeste??cie ju?? przekonani nad konieczo??ciÄ? ??ledzenia b??Ä?d??w aplikacji produkcyjnych to zapraszam do dokumentacji samej biblioteki. By dowiedzieÄ? siÄ? jak jÄ? zintegrowaÄ? z waszymi aplikacjiami.

emgiezet/errbitPHP

Je??eli wiecie jak to zrobiÄ? to zapraszam na packagista:
packagist.org/packages/emgiezet/errbit-php

Zapraszam do pull-request??w!

meet.php

[Ubuntu] Testowanie konfiguracji smtp na serwerze produkcyjnym

CzÄ?sto zdarza siÄ? tak, ??e w trakcie deploymentu okazuje siÄ? ??e na serwerze produkcyjnym nie dzia??a wysy??anie emaili z aplikacji np. Symfony2. Admin zarzeka siÄ?, ??e wszystko zosta??o skonfigurowane poprawnie. Natomiast SwiftMailer m??wi:

01-how-about-no-bear

Maile nie dochodzÄ?. Klient rzuca miÄ?sem. Na karku czujesz wilgotny i szarpany oddech project managera.

Na ratunek przychodzi swaks!


Dostajesz ??liczny log, kt??ry wysy??asz do wszystkich mo??liwych CC i blameujesz admina co konfigurowa?? serwer.

and-not-a-single-fuck-was-given-that-day-guitar-war

SunshinePHP

Symfony2 – Tak jak to robi Kris Wallsmith

Ostatni weekend obfitowa?? w konferencje. Opr??cz meetphp w poznaniu za oceanem odby??a siÄ? konferencja SunshinePHP. A na niej wystÄ?pi?? tw??rca Assetic Kris Wallsmith ze swojÄ? prezentacjÄ? na temat Symfony2.

Opisa?? w niej dobre praktyki programowania w Symfony2 wraz z MongoDB.

symfony_black_02

[Ubuntu] Instalacja LESS oraz Integracja z Symfony2 Assetic

Ostatnio staje siÄ? bardziej popularny LESS. By go zintegrowaÄ? z Symfony2 za pomocÄ? Assetic’a i zachowaÄ? prÄ?dko??Ä? ??adowania strony bez przeskoku spowodowanego kompilacjÄ? LESS’a przez JavaScript less.js.

DziÄ?ki temu pliki less bÄ?dÄ? skompilowane do normalnego css. Dodatkowo mo??na je wrzuciÄ? bezpo??rednio na serwer do static contentu np. Amazon S3.

Schemat dzia??ania Less Node.js i Assetica

Schemat dzia??ania Less Node.js i Assetica

  1. Instalacja Less

    1. Instalacja Node.js
       sudo apt-get update
       sudo apt-get install git-core curl build-essential openssl libssl-dev
       git clone https://github.com/joyent/node.git
       cd node
       chmod +x ./configure
       ./configure
       make
       sudo make install
       node -v
      
    2. Instalacja NPM
      wget http://npmjs.org/install.sh --no-check-certificate
      sudo ./install.sh
    3. Instalacja Less
      sudo npm install less  --global

      Parametr global jest niezwykle istotny, gdy?? nie bÄ?dziesz m??g?? potem uzyskaÄ? dostÄ?pu do lessa

    4. Dodanie PATH Less’a do ~/.bashrc
      Edytuj plik: ~/.bashrc

      gedit ~/.bashrc
      

      Dodaj nowÄ? liniÄ? na ko??cu pliku:

       PATH=$PATH:$HOME/node_modules/less/bin
      
    5. Teraz trzeba prze??adowaÄ? profil Basha
       source ~/.bashrc
      
    6. Testujemy Less!
       lessc wejscie_less.less > wyjscie_css.css
  2. Integracja z Symfony2 i Assetic
    1. Konfiguracja Assetic
      Edytujemy config.yml i dodajemy 3 liniÄ? zwiÄ?zane z lessem tak jak to widaÄ? na przyk??adzie poni??ej:

      # app/config/config.yml
      assetic:
          debug:          %kernel.debug%
          use_controller: false
          filters:
              cssrewrite: ~
              less:
                  node: /usr/local/bin/node
                  node_paths: [/usr/local/lib/node]
              yui_css:
                  jar: %kernel.root_dir%/../java/yuicompressor-2.4.6.jar
              yui_js:
                  jar: %kernel.root_dir%/../java/yuicompressor-2.4.6.jar
      
    2. Edytujemy nasz g????wny plik layoutu(base.html.twig)
      DodajÄ?c warto??Ä? less, do argumentu filter:

      #base.html.twig
      ...
      <head>
      {% stylesheets filter='less,?yui_css' '@AcmeBundle/Resources/less/main.less' %}
          <link href="{{ asset_url }}" rel="stylesheet" media="screen" />
      {% endstylesheets %}
      </head>
      ...
      
    3. Budujemy assety za pomocÄ? Assetic’a
      php app/console assetic:dump --env=prod
      
    4. Cieszymy siÄ? ??migajÄ?cym arkuszem styli kompilowanym z less’a!
symfony_black_02

Symfony2 – Dodawanie Klasy CSS do pola formularza zawierajÄ?cego b??Ä?d

Case

Webdeveloper przygotowa?? nam HTML do strony zawierajÄ?cej formularz.Przy b??Ä?dzie walidacji pola formularza. Pole to ma otrzymaÄ? dodatkowo klasÄ? CSS error. Je??eli to nie zostanie zaimplementowane, to kleint bÄ?dzie w??ciek??y, szef da po premii. A webdeveloper co ciÄ??? psd2html bÄ?dzie mieÄ? ciÄ? za Lamera!

#RozwiÄ?zanie: 1 (Ugly)

Jest to proste, jednak wrzuca nam logikÄ? do template??w TWIG’a. Przez co tracimy na czytelno??ci plik??w TWIG. Templaty „tyjÄ?” przez ciÄ?g??e wklejanie tego samego kodu.
Czytaj dalej

Tutorial – Import do Eclipse 3.8 Juno schematu kolorowania kodu z Aptana Studio

D??ugi czas w swojej karierze u??ywa??em Aptany. Przyzwyczai??em siÄ? do jej kolorowania. Jednak ze wzglÄ?d??w wydajno??ciowych i s??abego supportu dla Symfony2 wr??ci??em do Eclipse 3.8 (Juno). Jednak po pewnym czasie zatÄ?skni??em za kolorowaniem jakie oferowa??a Aptana.

  1. ??ciÄ?gnij: http://eclipsecolorthemes.org/?view=theme&id=47
  2. Otw??rz Eclipse
  3. File -> Import
  4. Wybierz Preferences
  5. Za??aduj ??ciÄ?gniÄ?ty plik
  6. Ciesz siÄ? nowym wyglÄ?dem Eclipse!

Je??eli nie poradzi??e?? sobie z kt??rym?? krokiem tego tutorialu to mo??esz obejrzeÄ? film:

How to import Eclipse Preferences (*.epf) from Roger Dudler on Vimeo.

PHP: ??wiÄ?teczny cud – Prezentacja Ryana Weavera

3 frameworki w jednej aplikacji? Brzmi jak szale??stwo? A jednak da siÄ?. Wsp????w??a??ciciel KNP-labs prezentuje jak zintegrowaÄ?:

  • lithium
  • zend framework
  • symfony2 framework
  • pimple

Do tego trochÄ? geekowskiego humoru i powsta??o 121 slajd??w, kt??re przedstawiajÄ? dobrÄ? ideÄ? korzystania z wycink??w framework??w, by opakowanie nie by??o ciÄ???sze od samej aplikacji. Zapraszam do lektury.

View more presentations from Ryan Weaver
symfony_black_02

Symfony2 Zmienne globalne w plikach TWIG

JednÄ? przydatnÄ? rzeczÄ? przy tworzeniu widoku naszej aplikacji we frameworku symfony2, sÄ? zmienne globalne dostÄ?pne w TWIG’u.

PrzydajÄ? siÄ? one do wy??wetlania:

  • aktualnie zalogowanego u??ytkownika
  • aktualnie u??ytego modu??u
  • aktualnie u??ytego nazwy routingu
  • pobrania zmiennej z sesji
  • pobranie baseURL() strony

I wielu wielu innych.

Czytaj dalej

Doctrine: Tworzenie tabel w utf-8

Problem:

Po zbudowaniu projektu symfony nie wy??wietlajÄ? siÄ? na stronie polskie znaki znaki diakrytyczne.

Diagnoza:

Gdy serwer MySQL ma w domy??lnej konfiiguracji charset Latin-2 oraz por??wnywanie jest r??wnie?? domy??lnie ustalone na Latin-2, a my wykonamy

php symfony doctrine:build --all --and-load --no-confirmation

To dostaniemy piÄ?knÄ? bazÄ? danych na domy??lnych ustawieniach. I przy wy??wietlaniu polskich znak??w diakrytycznych bÄ?dÄ? wyskakiwa??y krzaki. By uchroniÄ? siÄ? przed takÄ? sytuacjÄ?.

RozwiÄ?zanie:

Nale??y zmodyfikowaÄ? wszystkie tabele w schemacie (schema.yml) o dodatkowe opcje:

Tabela:
  columns:
    kolumna_1: {type: string(255)}
    kolumna_2: {type: clob}
  options:
    type: MyISAM
    collate: utf8_unicode_ci
    charset: utf8

Options pozwala na ustalenie silnika MyISAM / InnoDB oraz metody por??wna?? i kodowania znak??w, o kt??re nam chodzi.