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.