Instalarea și configurarea blog-symfony2

Instalarea și configurarea blog-symfony2

De la lansarea procesului de instalare Symfony 2.0 și instrumentele necesare pentru a face acest lucru modificat și îmbunătățit de mai multe ori. In acest articol vom discuta despre ce să facem pentru a instala și configura Symfony2-aplicația.

instrument real pentru a crea un nou Symfony-aplicație în acest moment este un utilitar de linie de comandă cu același nume. Pe Linux sau Mac OS X poate fi instalat din consola:

Singura condiție pentru acest instrument - trebuie să aveți PHP versiunea 5.4 și mai sus. Dacă încă utilizați PHP 5.3, articolul va fi, de asemenea, se arată și a doua opțiune de instalare.

Listă de mici, aici sunt comenzile disponibile:

despre Symfony informații despre comandă afișează versiunea curentă a programului de instalare, de altfel, aceleași informații pot fi vizualizate prin rularea utilitarului Symfony fără nici un parametru. instalator Symfony anexată regulat pentru a veni versiuni noi. Setarea o dată la nivel global, în viitor, o puteți actualiza una dintre echipe sau selfupdate selfupdate (similar cu Compozitor).

Vă recomandăm actualizate periodic, sau pentru a face actualizarea chiar înainte de utilizarea comenzii consola. Dacă aveți nevoie de mai multe informații cu privire la oricare dintre comenzi de consolă, utilizați comanda de ajutor sau opțiunea --help.

Symfony oferă o oportunitate este foarte ușor pentru a ridica și rula aplicația demo (aici, din nou, va avea nevoie de versiunea PHP de la 5.4). Pentru a face acest lucru, executați următoarele comenzi:

Instalarea Symfony2 utilizând programul de instalare standard de

Pentru a crea o nouă aplicație utilizează noul. Sintaxa este:

Nume de director sigur versiune - opțională. Aici este un exemplu de posibile comenzi lansa opțiuni:

Acum aveți nevoie pentru a deschide fișierul my_project_name / app / config / parameters.yml și să facă modificările necesare în setările aplicației.

Crearea unei aplicații fără Symfony de instalare

Înainte de apariția de instalare Symfony a recomandat modalitate de a crea o nouă cerere a fost de a crea un proiect prin compozitor. Dacă doriți, puteți utiliza această opțiune, dar dacă aveți PHP 5.3, atunci, din păcate, trebuie doar să le și să poată utiliza. Mai întâi instalați Composer la nivel global. Crearea Symfony-aplicare a ultimei versiune stabilă este după cum urmează:

Sau, dacă doriți să specificați o versiune specială a:

Dezavantajul acestei metode este că nu vede «LTS» ca versiunea, trebuie să specificați doar numerele.

După rularea acestei comenzi va fi pompată proiect nou gol și toate dependențele necesare. După aceea, consola online, va trebui să introduceți parametrii pentru variabilele parameters.yml fișier

Built-in server de web

Începând cu versiunea 5.4, PHP a apărut în serverul web încorporat. În principiu, este suficient pentru a rula Symfony-aplicații din cutie. Acest lucru se face prin intermediul consolei Symfony, care oferă 4 comenzi pentru lucrul cu serverul web:

Diferența dintre server: alerga și server: începe. că, după prima va atârna în consola, și a opri serverul va fi folosind Ctrl + C. Al doilea începe un server de web în fundal, și pentru a opri necesitatea de a rula comanda de server: stop.

Dacă aveți mai multe Symfony-proiecte la nivel local, acestea pot rula pe diferite porturi:

Mai multe detalii pot fi citite de pe serverul web încorporat cu site-ul PHP. Dacă dezvolta utilizând Apache sau Nginx, va trebui să configurați manual gazde virtuale pentru dezvoltarea locală. Vă rugăm să rețineți că Web server utilizat numai pentru a dezvolta și utiliza în modul Prodakshen nu este recomandată.

configurație

Verificați configurația sistemului pentru utilizare Symfony pot utiliza, de asemenea script consola:

Se va verifica dacă toate cerințele de sistem pentru Symfony, iar daca lipseste ceva, te va avertiza și vă spune ce să faci. De exemplu, poate dor de unele extensii PHP, Symfony de legare sau lipsă opțiunea dorită. Versiunea consola de PHP poate fi separat de versiunea web a configurației. Deci, atunci când face unele modificări importante, face acest lucru pentru versiunea web și versiunea consolă. Există, de asemenea, o comandă Symfony pentru a verifica securitatea aplicației:

cu privire la drepturile de acces la directoare

În Symfony app / cache și app / folder jurnalele trebuie să aibă permisiuni de acces pentru serverul web, și un utilizator de linie de comandă. Prin urmare, aceste directoare ar trebui să se acorde drepturile corespunzătoare. Acest lucru se face într-una dintre metodele disponibile.

Folosind același utilizator la serverul web și consola

Pentru a face acest lucru, în configurația server de web pentru a specifica același utilizator ca și pentru consola. De exemplu, pentru Apache, acest lucru se face în fișierul httpd.conf (sau apache2.conf).

Utilizarea ACL într-un sistem care acceptă chmod + o

Dacă această metodă returnează o eroare, încercați următoarele:

Utilizarea ACL pe un sistem care nu acceptă chmod + o

În cazul în care nu funcționează, încercați să adăugați opțiunea -n

Fără a utiliza ACL

În cazul în care nici una dintre metodele anterioare, nu a venit, schimba umask, astfel încât memoria cache director, și jurnalul sunt grup inscriptibil sau toate (în funcție de faptul dacă utilizatorii sunt servicii web și linia de comandă în aceleași sau diferite grupuri). Pentru a face acest lucru, puneți următoarea linie la începutul fișierelor app / consolă. web / app.php și web / app_dev.php:

distribuții Symfony

În exemplele descrise mai sus, ansamblul este utilizat Symfony Standard Edition. Acesta include o aplicație schelet și Symfony-composer.json cu toate dependențele necesare. Acest ansamblu este cel mai popular și cea mai bună alegere pentru a crea o nouă cerere. În plus, există alte întruniri:

  • Symfony CMF Standard Edition - personalizate construi pe baza Symfony CMF, oferă posibilitatea de a adăuga cu ușurință funcționalitatea CMS pentru proiectul dumneavoastră.
  • Symfony REST Edition - asamblare pentru serverul organizației REST API bazate pe Symfony și FOSRestBundle.

Symfony și componentele sale constitutive sunt actualizate în mod regulat. Refresh proiectul dumneavoastră, puteți utiliza comanda

Dacă te duci într-o versiune majoră a Symfony, apoi, în cele mai multe cazuri, nu veți avea probleme cu codul. Pentru a merge la versiunea majore (de exemplu, 2 * 3.0) va trebui să citiți instrucțiunile. În cazul în care un pachet terță parte are o dependență de o anumită versiune a Symfony, Composer vă va da un avertisment și nu continuă să funcționeze atâta timp cât nu rezolva problema.

De asemenea, actualizați instrucțiuni de la o versiune la alta poate fi găsită în magazia. fișiere de actualizare.

Alte sfaturi pentru lucrul la un nou Symfony aplicație

Dacă ați înțeles instrucțiunile pentru instalarea Symfony și aveți deja un schelet de aplicare dumneavoastră viitoare, trebuie doar să-l umple cu logica de afaceri și să se extindă folosind pachete terțe părți. Dacă sunteți un începător, veți, cu siguranță, ajuta documentația Symfony2 de pe site-ul oficial. De asemenea, există mai multe lucruri utile în Carte de bucate.

După ce creați un proiect nou gol, am face, de asemenea, unele de configurare suplimentare. De exemplu, am regula de configurare pentru PHPUnit în fișierul app / phpunit.xml.dist. Pot exclude anumite directoare și fișiere care nu sunt acoperite de testele (de exemplu, clase cu dispozitivul de fixare), dacă nu, atunci ei vor afecta testul de acoperire. În cazul în care proiectul este situat pe GitHub ca un open-source, de la bun început am conectați-l pentru a evalua servicii de calitate cod. Există, de asemenea, un serviciu de la Insight SensioLabs, despre care am scris în același articol. Pentru experiment, am dezlănțuit pe net Symfony Standard Edition, să știe că el va găsi în codul Symfony din cutie. Am creat o comandă de design curat Symfony:

Versiunea actuală a acestui scris ca a fost 2.7.1. După aceea, fără a face o singură modificare, am trimis un proiect la un depozit publică pe GitHub, și a făcut un control folosind SensioLabs Insight. Și aici este rezultatul.

Instalarea și configurarea blog-symfony2

Prima greșeală critică este că, după crearea unui nou proiect, nu am schimba secretul de securitate în fișierul app / config / parameters.yml.dist. Trebuie să vă înregistrați Categoric expresia de acces. Dar, în acest exemplu particular, este lipsită de sens. Puteți modifica numai valoarea implicită pentru a fi utilizată atunci când cineva este de la zero, pentru a implementa proiectul. Acest fapt nu înseamnă că serverul Prodakshen este aceeași valoare va fi utilizată. Cu toate acestea, pentru a elimina acest avertisment, pur și simplu înlocuiți standard de expresie de acces ThisTokenIsNotSoSecretChangeIt la ceva diferit.

Symfony vine cu un fișier :) composer.json nevalid. pentru că nu există descriere suficiente câmpuri (descriere), care este obligatorie.

fișier config.php nu este șters, cel care este folosit pentru a valida cerințele Symfony mediul web si setarea parametrilor. Insight sfătuiește să-l elimine din depozit, așa că nu ar trebui să cadă pe Productions.

Mai mult, există mesaje informative. Insight oferă pentru a elimina toate fișierele .htaccess pentru a face toate ajustările necesare în serverul de configurare web la nivel mondial. De asemenea, personaliza pagina pentru erori 404 și 500. recomandă ca fiecare shooter (Roth) în controler folosind Adnotările specifică întotdeauna metodele care trebuie să fie menținute. Și nu uitați să schimbați favicon implicit.

Acestea sunt recomandările ne oferă robotului. Unele dintre ele sunt controversate, dar dacă o fac, atunci cineva are dreptul de a face baza. În orice caz, să fie conștienți de ele nu poate face rău.