Caution: You are browsing the legacy 1.x part of this website.
This version of symfony is not maintained anymore. If some of your projects still use this version, consider upgrading.

Master Symfony fundamentals

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
training.sensiolabs.com

Discover SensioLabs' Professional Business Solutions

Peruse our complete Symfony & PHP solutions catalog for your web development needs.
sensiolabs.com
Jobeet

Bevezető

Három éve már annak, hogy a symfony keretrendszer nyílt forráskódú lett és azóta az egyik legközkedveltebb PHP keretrendszerré vált kiemelkedő tulajdonságainak és nagyszerű dokumentációjának köszönhetően. Ez a tradíció korán kezdődött.

2005 Decemberében a symfony hivatalos kiadása után közzétettük az "[Askeet tutorial] -t (/askeet/1_0/en/), ami egy 24 leckéből álló, December 1 és Karácsony között naponta frissülő oktatóanyag.

A keretrendszer bemutatására szolgáló leírás az újonnan érkezők számára felbecsülhetetlen értékűnek bizonyult. Sok fejlesztő az askeetnak köszönhetően tanulta meg a symfonyt, továbbá számtalan cég használja oktatási célokra.

A symfony 1.2 megjelenése után idejétmúlttá vált, így úgy döntöttünk, hogy készítünk egy az askeethoz hasonló adventi naptárat - a Jobeetet.

Ez a leírás 2008-ban jelent meg a symfony blogon napi frissítéssel. Most ennek a könyvvé alakított formáját olvasod.

A kihívás

Minden egyes fejezet nagyjából 1 órásra készült, így alkalmat teremt a symfonyt elsajátítására egy valódi weboldal készítése során.

Az egy órás leckék így egy egész napot tesznek ki végül. Úgy gondoljuk, ez pontosan elegendő idő egy fejleszőnek, hogy elsajátítsa a symfony alapjait. Minden egyes nap elteltével új tulajdonsággal ruházzuk fel alkalmazásunkat, és kihasználjuk az alkalmat, hogy bemutassuk neked gyakorlati úton a symfony új funkcióit.

Az askeetnál a 21. nap a "találj-egy-symfony-gurut-egy-napra" címet kapta. Ötletünk sem volt aznapra, hogy milyen új tulajdonság kerüljön az alkalmazásba, így hát feldobtuk a labdát a közösségnek. Végül nagyszerű sikert aratott. A közösség úgy döntött, hogy szükség van egy keresőre. Így aztán megcsináltuk. A 21. nap bizonyult a legnépszerűbb fejezetnek az askeetban.

Idén a telet a Jobeet 21. napján ünnepeltük egy design verseny kihirdetésével. A nyertes designt centre{source} készítette, így az vált ennek a leírásnak, valamint a Jobeet weboldal alapértelmezett megjelenésévé.

Ez a leírás különbözik társaitól

Emlékezz csak a PHP4 korai időszakára. Ah, la Belle Epoque (szép korszak)! A PHP volt az első egyik legkönnyebben elsajátítható nyelv mely a webre készült.

A webfejlesztési eszközök rohamos fejlődésével lépést kell tartaniuk a fejlesztőknek, hogy mindig a legjobb technikákat és eszközöket alkalmazzák. A legjobb módja a tanulásnak a blogok, oktatóanyagok és könyvek olvasása. Sok ilyet olvastunk mi is, legyen akár szó PHP, Python, Java, Ruby, vagy Perl nyelvről, kivétel nélkül az összes elvérzik akkor, amikor a szerző kódrészleteket mutat be példaképpen.

Mindenbizonnyal hozzászoktál már az ehhez hasonló üzenetekhez:

"Az alkalmazáshoz ne felejts el ellenőrzéseket valamint megfelelő hibakezelést hozzáadni."

vagy

"A biztonság megvalósítása a felhasználó feladata."

vagy

"Természetesen a tesztek írásáról ne feledkezz meg."

Most akkor hogy is van ez? Ezek azért nem elhanyagolható dolgok. Mondhatni a legfontosabb része bármilyen kódnak. Olvasóként magadra vagy utalva. Ezeknek a tényeknek a figyelembevétele nélkül a példák többnyire hasztalanok. Nem tudod azokat jó kiindulópontként használni, és ez rossz. Miért? Mert a biztonsághoz, az ellenőrzésekhez, a hibakezeléshez és a tesztekhez - csak hogy néhányat említsünk - megfelelő kód szükséges.

Ebben a leírásban nem fogsz a fent említett kijelentésekkel találkozni, mivel közösen írjuk meg a teszteket, a hibakezelést, az ellenőrzéseket, és biztosítjuk a biztonságos alkalmazás fejlesztését. A symfonyval a legjobb technikákat sajátítod el ahhoz hogy professzionális alkalmazásoskat készíts a nagyközönség számára. Lehetőségünk van felkínálni neked ezt a luxust, mivel a symfony rendelkezésdre bocsát mindent, ami szükséges ahhoz, hogy kevés kódolással elkészíts egy alkalmazást.

Ellenőrzések, hibakezelés, biztonság, valamint a tesztek kiemelt figyelmet kaptak a symfonyban, így nem fog sok időbe telni ezeknek a bemutatása. Ez csak egy indok a sok közül, miért fontos egy keretrendszer használata egy élet-szerű weboldal készítésénél.

Az összes kód amivel az olvasás során találkozol felhasználható egy valós projekt készítésénél. A kódot részleteiben, vagy akár teljes egészében felhasználhatod.

A projekt

A feladat lehetett volna egy újabb blog motor készítése, de jobbnak láttuk egy hasznosabb projekt elkészítéséhez használni a symfonyt. Célunk bemutatni, hogy a symfonyval hogyan lehet stílusosan, kis erőfeszítéssel professzionális alkalmazásokat készíteni.

Azt, hogy mostani projektünk miről fog szólni, még nem áruljuk el, mivel még sok dolgunk van azon kívül is. Végül is a nevét már tudod: Jobeet.

Mit fogunk ma csinálni?

Mivel 24 óra sok idő egy symfonys alkalmazás fejlesztéshez, nem fogunk PHP kódot írni a mai nap folyamán. Egy sor kód írása nélkül is meglátod majd, hogy mik az előnyei egy olyan keretrendszer használatának mint a symfony.

A mai nap célja, hogy beállítsuk a fejlesztési környezetet és megjelenítsük az alkalmazás egy oldalát a böngészőben. Ez magábafoglalja a symfony telepítését, egy alkalmazás létrehozását, valamint a webszerver beállítását.

Előkövetelmények

Elsősorban győződj meg arról, hogy van egy működőképes webfejlesztési környezeted webszerverrel (pl. Apache), adatbáziskezelőd (MySQL, PostgreSQL vagy SQLite), valamint egy legalább 5.2.4 -es verziójú PHP konfigurációd.

Mivel a parancssort sűrűn fogjuk használni, előnyösebb ha egy UNIX alapú operációs rendszert használsz, de Windowson is megfelelően fog működni, csak néhány parancsot kell majd beírnod a parancssorba.

note

A Unix parancsok hasznosak lehetnek Windows környezetben is. Ha szeretnél olyan eszközöket használni Windowson mint például tar, gzip, vagy grep, telepítheted a [Cygwin] -t (http://cygwin.com/). A hivatalos dokumentáció egy kicsit hiányos, bővebb telepítési útmutatót itt találsz. Kalandvágyók figyelmébe ajánjuk: Windows Szolgáltatások Unixra.

Mivel ez a leírás leginkább a symfony keretrendszer bemutatására összpontosít, szükséges a PHP 5 és az objektum orientált programozás alapszintű ismerete.

Symfony Telepítése

Először hozz létre egy könyvtárat amiben tárolod majd a Jobeethez kapcsolódó fájlokat:

$ mkdir -p /home/sfprojects/jobeet
$ cd /home/sfprojects/jobeet

Windowson:

c:\> mkdir c:\development\sfprojects\jobeet
c:\> cd c:\development\sfprojects\jobeet

note

Windows felhasználóknak tanácsos olyan könyvtárba telepíteni a symfonyt, amely nem tartalmaz szóközt. Próbáld elkerülni a Documents and Settings könyvtárat, beleértve bármit ami a My Documents alatt helyezkedik el.

Készíts egy könyvtárat, a symfony keretrendszer fájljainak tárolására:

$ mkdir -p lib/vendor

A telepítő oldalon található a symfony összes verziója, valamint az azokat összehasonlító táblázat.

Mivel ez a leírás symfony 1.2 -höz készült látogass el a telepítő oldalra a symfony 1.2 letöltéséhez.

A "Source Download" részlegnél fogod megtalálni, .tgz illetve .zip formátumban. Töltsd le, majd csomagold ki az előbb létrehozott lib/vendor/ könyvtárba.

$ cd lib/vendor
$ tar zxpf symfony-1.2.2.tgz
$ mv symfony-1.2.2 symfony
$ rm symfony-1.2.2.tgz

Windwoson a fájl kitömörítését elvégezheted az intézőben is. Miután átnevezted a könyvtárat symfony -ra ezen az úton fogod elérni: c:\development\sfprojects\jobeet\lib\vendor\symfony.

Mivel a PHP konfigurációk disztribúciónként sokban különböznek, ellenőriznünk kell, hogy az általad használt PHP beállítások megfelelnek a symfony alapkövetelményeinek. Futtasd le parancssorban a konfiguráció ellenőrző szkriptet melyet a symfonyval együtt kaptál:

$ cd ../..
$ php lib/vendor/symfony/data/bin/check_configuration.php

Probléma esetén tanácsokat kapsz majd azok kijavítására. Javasolt továbbá, hogy lefuttasd ezt a szkriptet egy böngészőből is, mivel a PHP konfiguráció különbözhet. Másold a fájlt valahova a webszerver gyökérkönyvtárába és futtasd le azt. Ezután ne felejtsd eltávolítani:

$ rm web/check_configuration.php

Konfiguráció ellenőrző

Ha a szkript nem jelez semmilyen hibát, ellenőrizd a symfony parancssor|Command Line használatával a verziószámot, és hogy a symfony megfelelően lett telepítve (figyelj a nagy V betűre):

$ php lib/vendor/symfony/data/bin/symfony -V

Windowson:

c:\> cd ..\..
c:\> php lib\vendor\symfony\data\bin\symfony -V

Ha kíváncsi vagy mit tud még ez a parancssoros felület, futtasd le a symfony parancsot a beállítások és feladatok listázásához:

$ php lib/vendor/symfony/data/bin/symfony

Windowson:

c:\> php lib\vendor\symfony\data\bin\symfony

A symfony parancssoros felület a fejlesztő legjobb barátja. Sok eszközt ad a fejlesztő kezébe, hogy elősegítse a naponta sűrűn előforduló tevékenységeket mint például a gyorsítótár törlése, kód generálása, és még sok minden más.

Projekt beállítások

symfonyban az ugyanazt az adatmodellt használó alkalmazások|Application -at nevezzük projekteknek. A Jobeetnál két külön alkalmazásunk lesz: egyik a frontend|Frontend valamint a másik a backend|Backend.

Projekt létrehozása

A jobeet könyvtárból, futtasd le symfonynak a generate:project parancsát, az új projekt létrehozásához.

$ php lib/vendor/symfony/data/bin/symfony generate:project jobeet

Windowson:

c:\> php lib\vendor\symfony\data\bin\symfony generate:project jobeet

A generate:project parancs létrehozza az alap struktúrát|Structure ami szükséges egy symfony projekthez.

Könyvtár Leírás
apps/ A projekt alkalmazásai
cache/ A keretrendszer által gyorsítótárazott fájlok
config/ Projekt szintű konfigurációs fájlok
lib/ Projekt könyvtárai és osztályai
log/ A keretrendszer log fájljai
plugins/ Telepített kiegészítők
test/ Egység (unit) és funkcionális teszt fájlok
web/ A web gyökérkönyvtára (lásd lentebb)

note

Miért generál ilyen sok fájlt a symfony? Egyik fő előnye az ilyen keretrendszer használatának, hogy egységesítsd a fejlesztéseidet. Köszönhetően a symfony alap fájl- illetve könyvtár struktúrájának, bármilyen fejlesztő aki rendelkezik symfonys alapismeretekkel, át tudja venni akármilyen symfonys projekt továbbfejlesztését. Percek alatt képes lesz megérteni a kódot, kijavítani a hibákat, és új funkciókat adni ahhoz.

A generate:project parancs továbbá létrehozott egy symfony parancsikont a Jobeet projekt gyökérkönyvtárában, hogy csökkentse a leütött billentyűknek a számát egy parancs futtatásakor.

Mostantól, ahelyett hogy a teljes elérési útvonalat megadnád a symfonyhoz, csak a symfony parancsot fogjuk használni.

Alkalmazás létrehozása

Most hozd létre a frontend nevű alkalmazást a generate:app parancs futtatásával:

$ php symfony generate:app --escaping-strategy=on --csrf-secret=UniqueSecret frontend

tip

Mivel a symfony parancsikon futtatható, mostantól a Unix felhasználók kicserélhetik a 'php symfony' parancsot './symfony' -ra.

Windowson átmásolhatod a 'symfony.bat' fájlt a projekted gyökérkönyvtárába és használhatod a 'symfony' parancsot 'php symfony' helyett:

c:\> copy lib\vendor\symfony\data\bin\symfony.bat .

Az generate:app parancs az argumentumként megadott alkalmazás nevét használva létrehozza az alkalmazás számára az alap könyvtárstruktúrát az apps/frontend könyvtárban.

Könyvtár Leírás
config/ Alkalmazás konfigurációs fájlok
lib/ Alkalmazás könyvtárai és osztályai
modules/ Alkalmazás (MVC) kódja
templates/ Globális template fájlok

tip

Az összes symfony parancsot a projekt gyökérkönyvtárából kell futtatnod, kivételes esetben szólunk.

Amikor lefuttattad a generate:app parancsot, további két biztonsághoz kapcsolódó beállítást is megadtunk:

  • --escaping-strategy: Engedélyezni a kimenet escape-elését (feloldójelezését) az XSS támadások megelőzése érdekében
  • --csrf-secret: Engedélyezi a session tokeneket a formokban a CSRF támadások megelőzése érdekében

Azzal, hogy átadtuk ezt a két opcionális kapcsolót, biztosítottuk jövőbeli fejlesztéseinket két, széleskörben elterjedt sebezhetőséggel szemben. Így van, a symfony automatikusan biztonsági|Security intézkedéseket hajt végre érdekünkben.

note

Ha még nem hallottál a XSS-ről vagy a CSRF-ről, akkor szentelj egy kis időt ezeknek a biztonsági sebezhetőségek áttanulmányozására.

A symfony

A projekted által használt symfony verzióját az alábbi paranccsal kaphatod meg:

$ php symfony -V

A -V' kapcsoló egyben megjeleníti a symfony telepítési könyvtárának az útvonalát, mely aconfig/ProjectConfiguration.class.php` -ben található:

// config/ProjectConfiguration.class.php
require_once '/Users/fabien/work/symfony/dev/1.2/lib/autoload/sfCoreAutoload.class.php';

A hordozhatóság érdekében cseréld ki az abszolút elérési útvonalat a symfonyhoz relatívra:

// config/ProjectConfiguration.class.php
require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';

Így ha átmozgathatod a Jobeet projekt könyvtárát valahova máshova, az akkor is működni fog.

A Környezetek

Ha megnézed a web/ könyvtárat, két PHP fájlt találsz: Egy index.php-t és egy frontend_dev.php-t. Ezeket a fájlokat front controller|Front Controller (elülső vezérlő) -nek nevezik: az alkalmazáshoz befutó kérések rajtuk keresztül történnek. Hogy miért van két különböző front controller, amikor nekünk csak egy alkalmazásunk van?

Mindkét fájl ugyanarra az alkalmazásra mutat, de két különböző környezetet használnak. A fejlesztés során, leszámítva azt az esetet amikor közvetlenül az ,,éles szerveren'' fejlesztesz, szükség van környezetekre.

  • A fejlesztési környezet: Ez a környezet webfejlesztők számára hasznos. Ebben a környezetben történik a hibák javítása, funkciók hozzáadása, stb.
  • A teszt környezet: Ebben a környezetben történik az alkalmazás automatikus tesztelése.
  • A bemutatói környezet: Ebben a környezetben megrendelő tesztelheti az alkalmazást, jelenthet hibákat vagy hiányzó funkciókat.
  • Az éles környezet: A környezet, melyet a végfelhasználók használnak.

Mi tesz egy alkalmazást egyedivé? A fejlesztési környezetben például az alkalmazásnak naplóznia kell az összes részletét egy kérésnek, hogy elősegítse a hibakeresést, ellenben a gyorsítótárazásnak kikapcsolva kell lennie, hogy a változtatások azon nyomban érvénybe lépjenek. Tehát a fejlesztési környezet a fejlesztő munkáját segíti elő. Természetesen a legjobb példa erre, amikor egy kivétel|Exception handling történik. A hibakeresés felgyorsítása érdekében, a symfony megjeleníti a böngészőben a kivételt a hozzá tartozó összes információval.

Egy kivétel a fejlesztési környezetben

Az éles környezetben a gyorsítótárazásnak bekapcsolt állapotban kell lennie, és természetesen testreszabott hibaüzeneteket kell megjelenítenie a kivételek helyett. Szóval az éles környezet a gyorsaságra és a felhasználói élmény fokozására van optimalizálva.

Egy kivétel az éles környezetben

Egy symfonys környezet egyedi beállításokból áll. A symfony keretrendszer három ilyet tartalmaz alapértelmezetten: fejlesztési (dev), teszt (test), éles (prod). A 22. nap során, megtanulod majd hogyan hozhatsz létre olyan környezetet, mint például a bemutatói (staging).

Ha megnyitod a front controller fájlokat, látni fogod, hogy tartalmuk a környezeti beállításokat leszámítva megegyezik.

// web/index.php
<?php
 
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
 
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
sfContext::createInstance($configuration)->dispatch();

note

Egy új symfonys környezet felvételéhez csak létre kell hoznunk egy új front controllert. Később megnézzük hogyan változtassuk meg a beállításait egy környezetnek.

Webszerver Beállítás: A ronda verzió

Az előző részben létrehoztunk egy könyvtárat ahol tároljuk a Jobeet projektet. Ha valahová a web gyökérkönyvtár alá helyezted, már el tudod érni azt a böngészőn keresztül.

Természetesen mivel nem igényel különösebb beállítást, nagyon gyors beüzemelni, de próbáld csak meg elérni a config/databases.yml fájlt a böngésződön keresztül, hogy megértsd mik a következményei a lusta hozzáállásnak. Ha a felhasználó tudja, hogy az oldal symfonyval készült, képes lesz hozzáférni sok kényes fájlhoz.

Soha ne használd ezt e konfigurációt éles szerveren! A következő fejezetben megtanulhatod, hogyan kell megfelelően beállítani webszervered.

Webszerver beállítás: A biztonságos verzió

Tanácsos csak olyan fájlokat helyezni a web gyökérkönyvtár alá, melyeket el kell érnie a böngészőnek, mint például a stíluslapok, javascriptek, és képek. Azt javasuljuk, hogy ezeket a fájlokat a symfony projekt web/ alkönyvtárában tárold.

Ha belenézel ebbe a könyvtárba, találni fogsz néhány alkönyvtárat a kapcsolódó fájlok tárolásához (css/ és images/) és két front controller fájlt. A front controllerek az egyetlen olyan PHP fájlok, melyeknek a web gyökérkönyvtárában kell lenniük. Minden egyéb PHP fájlt elrejthetünk a böngésző elől, ami jó ötlet amíg a biztonságot|Security szem előtt tartjuk.

Webszerver beállítás

Itt az ideje, hogy megváltoztasd az Apache konfigurációját, hogy elérhetővé tedd a projektet mindenki számára.

Keresd meg és nyisd meg szerkesztésre a httpd.conf konfigurációs fájlt és illeszd ezt annak legvégére:

# Figyelj, hogy ez a sor csak egyszer szerepeljen a konfigurációban
NameVirtualHost 127.0.0.1:8080

# Ezek a Jobeethez kapcsolódó beállítások
Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
  DocumentRoot "/home/sfprojects/jobeet/web"
  DirectoryIndex index.php
  <Directory "/home/sfprojects/jobeet/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /home/sfprojects/jobeet/lib/vendor/symfony/data/web/sf
  <Directory "/home/sfprojects/jobeet/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

note

Az /sf alias|Alias (Apache) hozzáférést ad a képekhez és javascript fájlokhoz melyek szükségesek ahhoz, hogy megfelelően jelenítse meg a symfony alapértelmezett oldalait|Default symfony Pages, és a webfejlesztői eszköztárat|Web Debug Toolbar.

Windowson az Alias -t tartalmazó sort valami hasonlóra kell kicserélned:

Alias /sf "c:\development\sfprojects\jobeet\lib\vendor\symfony\data\web\sf"

És a /home/sfprojects/jobeet/web útvonalat ehhez hasonlóra:

c:\development\sfprojects\jobeet\web

Ez a beállítás arra készteti az Apacheot, hogy a 8080 -as porton figyelje a bejövő kéréseket, így a Jobeet a következő URL -en keresztül lesz elérhető:

http://~localhost~:8080/

Megváltoztathatod a 8080 -t bármire, de előnyös az 1024 -nél nagyobbat választani, mivel az nem igényel adminisztrátori jogosultságokat.

sidebar

Dedikált Domain Név beállítása a Jobeetnak

Ha adminisztrátori jogosultságokkal rendelkezel, jobb konfigurálni virtual hostokat|Virtual Host, ahelyett, hogy mindig új portot adnál hozzá új projekt nyitásakor. Helyette rendelj hozzá egy domain nevet és vegyél fel egy ServerName-t.

# Ezek a Jobeethez kapcsolódó beállítások
<VirtualHost 127.0.0.1:80>
  ServerName jobeet.localhost
  <!-- ugyanaz a konfiguráció mint korábban -->
</VirtualHost>

A jobeet.localhost domain nevet, melyet az Apacheban konfiguráltunk lokálisan is deklarálni kell. Ha Linuxot használsz ezt az /etc/hosts fájl szerkesztésével tudod megadni. Windows XP felhasználóknak a C:\WINDOWS\system32\drivers\etc\ könyvtárban lévő hosts fájlt kell szerkeszteniük.

Add hozzá a következő sort:

127.0.0.1         jobeet.localhost

Az új konfiguráció tesztelése

Indítsd újra az Apacheot és ellenőrizd, hogy eléred -e az alkalmazásodat a böngészőben ezen: http://localhost:8080/index.php/, vagy ezen http://jobeet.localhost/index.php/ a címen, attól függően, hogy melyik módját választottad az Apache konfigurálásának az előző fejezetben.

Gratulálunk

note

Ha installálva van az Apache mod_rewrite|mod_rewrite (Apache) modul, eltávolíthatod az index.php/ részt az URL-ből. Ez a rewriting szabályoknak köszönhető melyek a web/~.htaccess|.htaccess (Apache)~ fájlban vannak definiálva.

Próbáld meg elérni az alkalmazást fejlesztői környezetben is: Nyisd meg a következő URL-t:

http://jobeet.localhost/frontend_dev.php/

Mostmár látnod kell a hibakereső eszköztárat a jobbfelső sarokban, a hozzá tartozó kis ikonokkal, ami azt bizonyítja hogy az sf/ alias konfiguráció megfelelő.

hibakereső eszköztár

A hibakereső eszköztár|Web Debug Toolbar jelen van az összes oldalon a fejlesztői környezetben. Sok információhoz juthatsz hozzá, ha ráklikkelsz a különböző fülekre: az aktuális alkalmazás konfigurációja, az aktuális kérésnek a naplója, az SQL parancsok melyek lefutottak az adatbázison, memória és betöltési idő információk

note

A beállítások kicsit különbözhetnek ha egy IIS szerveren szeretnéd futtatni a symfony-t Windowson környezetben. Segítséget a beállításához a kapcsolódó leírásban találsz.

Subversion

Ajánlott verziókövető rendszert használni webfejesztés során. Használatával lehetőségünk van:

  • magabiztosan dolgozni
  • visszaállni egy előző verzióra ha egy változtatás elront valamit
  • több emberrel dolgozni ugyanazon a projekten
  • az alkalmazás összes verziójához hozzáférni

Ebben a fejezetben leírjuk hogyan használd a Subversiont symfonyval. Ha egy másik verziókövető rendszert használsz valószínűleg hasonlóképpen tudod azt beállítani.

Feltételezzük, hogy már van hozzáférésed egy Subversion szerverhez, és eltudod azt érni HTTP -n keresztül.

tip

Ha nem áll rendelkezésedre Subversion szerver, létrehozhatsz egy repository-t (tárat) ingyenesen a Google Code -on vagy csak keress rá a "free subversion repository" kifejezésre a Googleben a több választási lehetőség érdekében.

Először, készíts egy tárat a jobeet projektnek a repository szerveren:

$ svnadmin create /path/to/jobeet/repository

A gépeden hozd létre az alap könyvtárstruktúrát:

$ svn mkdir -m "created default directory structure" http://svn.example.com/jobeet/trunk http://svn.example.com/jobeet/tags http://svn.example.com/jobeet/branches

És checkoutolj az üres trunk/ könyvtáron:

$ cd /home/sfprojects/jobeet
$ svn co http://svn.example.com/jobeet/trunk/ .

Ezután töröld a cache/ és log/ könyvtárak tartalmát, mivel azokat nem szeretnénk feltölteni a repository szerverre.

$ rm -rf cache/* log/*

Most bizonyosodj meg arról, hogy adtál írásjogot a cache és log könyvtáraknak, ezáltal a webszervered tudja írni azokat:

$ chmod 777 cache/ log/

Importáld az összes fájlt és könyvtárt:

$ svn add *

Mivel sosem szeretnénk commit-olni (beküldeni) a fájlokat melyek a cache/ és log/ könyvtárakban vannak, fel kell venned azokat egy tiltó listára:

$ svn propedit svn:ignore cache

Az SVN -hez beállított alapértelmezett szövegszerkesztőnek elindult. A Subversionnek a könyvtár teljes tartalmát tiltólistára kell helyeznie:

*

Mentsd el és kiléphetsz. Készen is vagy.

Ismételd meg az eljárást a log/ könyvtárra:

$ svn propedit svn:ignore log

És írd be:

*

Végül, commit-old ezeket a változásokat a repository-ra:

$ svn import -m "made the initial import" . http://svn.example.com/jobeet/trunk

tip

Windows~ felhasználók használhatják a nagyszerű TortoiseSVN klienst a subversion repository kezelésére.

Holnap találkozunk

Nos, az idő mára lejárt! Még ha nem is kezdtünk el beszélni a symfonyról, beállítottunk egy biztos fejlesztési környezetet, beszéltünk a legjobb webfejlesztési praktikákról, és készen állunk a kódolásra.

Holnap felfedjük, hogy miről szól majd a feladat, és beszélünk a funkciókról melyeket meg kell valósítanunk kell a lecke során.

note

Ha szeretnéd, letöltheted a mai vagy bármelyik nap során készített kódot, a nap mint nap frissülő, hivatalos Jobeet SVN repository-ból. (http://svn.jobeet.org/propel/).

Például a mai napon készített kódot release_day_01 tag -ként találod meg:

  $ svn co http://svn.jobeet.org/propel/tags/release_day_01/ jobeet/

In the news

The Symfony Certification by SensioLabs

Symfony 3 Certification now available in 4,000 centers around the world!

Get certified

Upcoming training sessions