1. Nap: A projekt útnak indítása
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
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.
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 a
config/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.
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 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.
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ő.
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/doctrine/
).
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/doctrine/tags/release_day_01/ jobeet/
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.