közösségi portál fejlesztése php és zend framework segítségével
TRANSCRIPT
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
1/40
1
Debreceni Egyetem
Informatika Kar
Kzssgi portl fejlesztse PHP s ZEND FRAMEWORK segtsgvel
Tmavezet: Ksztette:Dr. Kuki Attila Piros Attila Sndor
egyetemi adjunktus programtervez informatikus
Debrecen
2009.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
2/40
2
Ksznetemet fejezem ki elssorban Dr. Kuki Attila egyetemi adjunktus rnak,
hogy felgyelte s tancsaival elsegtette dolgozatom elksztst, tovbb a
Debreceni Egyetem Informatikai Kar tanrainak, hogy az vek sorn
tapasztalt elktelezett munkjukkal hozzsegtettek az informatikai tudsom
megszerzshez.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
3/40
3
Tartalomjegyzk
1. Bevezets 4.
2. Az oldal funkcionalitsa 7.
3. Az oldal kialaktsa 10.
3.1. A ZEND Framework belltsai 10.
3.2. Modellek (Models) 11.
3.2.1. Users 11.
3.2.2. Groups 13.3.2.3. Forum 13.
3.2.4. Forumview 15.
3.2.5. Competition 16.
3.3. Kontrollerek (Controllers) 16.
3.3.1. IndexController 17.
3.2.2. KezdolapController 17.
3.2.3. AuthController 17.
3.3.4. CsapattagokController 19.
3.2.5. ElerhetosegekController 21.
3.2.6. ForumController 21.
3.2.7. VersenynaptarController 23.
3.2.8. ModifyController 24.
3.2.9. ErrorController 24.
3.4.Nzetek(Views) 26.
3.4.1. Auth 26.
3.4.2. Index 26.
3.4.3. Kezdolap 27.
3.4.4. Csapattagok 27.
3.4.4. Elerhetosegek 30.
3.4.5. Forum 30.
3.4.6. Versenynaptar 32.
3.4.7. Modify 33.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
4/40
4
4. Kpek 34.
5. sszefoglals 39.
6. Felhasznlt technolgik,alkalmazsok 39.
7. Irodalomjegyzk 40.
8. Fggelk 40.
1. Bevezets
A szakdolgozatom a FNIX (gyorskorcsolya) egyeslet kzssgi portljnak kialaktst,mkdst, kialaktsnak lpseit mutatja be PHP s ZEND Framework technolgik
segtsgvel.
Elszr szeretnk emltst tenni a PHP illetve a ZEND Framework technolgikrl.
A PHP (PHP: Hypertext Preprocessor) nylt forrskd, szmtgpes szkriptnyelv, legfbb
felhasznlsi terlete a dinamikus weboldalak ksztse. Emiatt a PHP-t jrszt szerver-
oldalon hasznljk, br ltezik parancssori interfsze is, illetve nll, grafikus fellet
alkalmazsok is ltrehozhatak vele.
A nyelvet eredetileg Rasmus Lerdorf alkotta meg 1994-ben, de a ma ltez egyetlen (s
hivatalos specifikci hjn de factoszabvnny vlt) PHP implementcit mr a PHP Group
tartja karban s fejleszti. A PHP a sajt licensze alatt kerl kiadsra, a Free Software
Foundation gy szabad szoftverknt tartja szmon.
A PHP a legtbb webszerverre, opercis rendszerre s platformra ingyenesen telepthet.
Manapsg tbb mint 20 milli weboldal s egymilli szerver futtat PHP-t, br a nyelvet
hasznl oldalak szma 2005 augusztustl kezdve folyamatosan cskken. A PHP emellett az
Apache webszerver egyik legnpszerbb bepl modulja.
A PHP oldalak elksztsnl a HTML-t gyakorlatilag csak mint formzst hasznljk,
ugyanis ezen lapok teljes funkcionalitsa a PHP-re pl. Amikor egy PHP-ben megrt oldalt
akarunk elrni, a kiszolgl elszr feldolgozza a PHP utastsokat, s csak a ksz (HTML)
kimenetet kldi el a bngsznek, gy a programkd nem is lthat kliens oldalrl. Ehhez egy
n. interpretert (rtelmezt) hasznl, amely ltalban egy kls modulja a webszervernek.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
5/40
5
A PHP nyelv lnyegben nagymrtk kiegsztse a HTML-nek, ugyanis rengeteg olyan
feladat vgezhet el vele, amelyre az gyfloldali szkriptek nem kpesek (vagy ha igen,
korltozottan). Ilyen pldul a bejelentkezs, az adatbziskezels, filekezels, kdols,
adategyeztets, kapcsolatok ltrehozsa, e-mail kldse, adatfeldolgozs, dinamikus
listakszts stb. Minden olyan esetben, ahol nagyszm ismtld feladatsort kell
vgrehajtani (pldul kpek listzsa s linkelse, listakszts stb.), ott ez a programnyelv
nagyszer segtsg.
A PHP programok futhatnak kznsges (parancssori) programknt is, nem HTML oldalba
ptve. Ezt azonban ritkn hasznljk. Ezen mdot sokszor weblapokkal kapcsolatos idztett
folyamatok megvalstshoz alkalmazzk, mivel azonos programnyelven, azonosmegkzeltsi mdon hajthatk azok vgre.
A Zend Framework egy nylt forrs, objektumorientlt webes keretrendszer, PHP 5-ben
megvalstva s a New BSD License alatt terjesztve. A Zend Framework gyakran csakZF
fejlesztsnek clja a webfejleszts megknnytse, s kzben kvetend gyakorlatok
bevezetse a PHP kzssg kreibe. A ZF igny szerint hasznlhat felptse lehetv teszi a
fejlesztk szmra, hogy jrahasznostsk az sszetevket amikor s ahol az alkalmazsukban
rtelme van, anlkl, hogy egyb ZF sszetevket kvetelnnek a legalapvetbb
fggsgeken tl. gy aztn nincs olyan fejlesztsi minta, amit a hasznlknak kvetnik kell,
habr a ZF knl sszetevket a Modell-Nzet-Vezrl s a Tbla tjr programtervezsi
mintkhoz, melyeket a legtbb ZF alkalmazs hasznl. A Zend Framework nll sszetevt
nyjt sok ms, webalkalmazs fejlesztsekor gyakori kvetelmnyhez, belertve az
azonostst s a jogosultsgkezelst hozzfrsvezrl listkon keresztl, alkalmazsbelltst,
adatok gyorsttrazst, a felhasznlk ltal kldtt adatok szrst/ellenrzst a biztonsg
s az adatok srtetlensge rdekben, nemzetkziestst, felleteket AJAX funkcikhoz,emailek sszelltshoz/kldshez, Lucene formtum keresjegyzkelst s -lekrdezst,
illetve az sszes Google Data API-t, sok ms npszer webszolgltats mellett. Laza ktds
tervezsk folytn a ZF sszetevit gyakran hasznljk ms PHP-s webes keretrendszerek
sszetevi mellett.
A Zend Framework gondolata 2005 elejn szletett meg, amikor sok j keretrendszer, mint
pldul a Ruby on Rails s a Spring Framework nszerv vltak a webfejleszti
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
6/40
6
kzssgben. A ZF-et elszr az els Zend Conference-en jelentettk be. Ezidtjt nem volt
szles krben elterjedt, a PHP kzssg rendelkezsre ll keretrendszer, ami kielgtette
volna a hasonl webfejleszti ignyeket. A Zend Framework tervezi megksreltk
egyesteni ezen keretrendszerek knny hasznlhatsgt s a gyors alkalmazsfejlesztsi
(rapid application development RAD) kpessgeiket az egyszersggel, nyltsggal s a
val vilgbeli praktikummal, melyeket a PHP kzssg nagyra rtkel.
A specifikus fejlesztsi feladatok megvalstsa jellemzen sokkal ltalnosabb szoftver
sszetevk felhasznlsval, nmkd belltsokon s/vagy kd generlson keresztl
trtnik. Az eddigi kiadsok sorn a Zend Framework kzssg ezen felszn alatt meghzd
sszetevk fejlesztsnek teljes elvgzst s tesztelst vlasztotta, a fejlesztsi feladatokmegknnytsn mint az adatbzis migrcik, llvnyzatok (scaffolding) generlsa,
projektek ltrehozsa s belltsa val munka megkezdse eltt. Ez a gyakorlat kritikk
trgyt is kpezte, mivel sokak ltal mai webes keretrendszerek megjelenshez
elengedhetetlennek rzett funkcik a Zend Framework jvbeli kiadsaira lettek temezve.
Sok ZF felhasznl azonban sokkal jobban felhasznlhatnak s kiterjeszthetbbnek rezte
ezeket az ltalnos jelleg sszetevket alkalmazsaik megvalstsakor. Emellett a Zend
Framework keresi a lehetsget kvetend webfejlesztsi gyakorlatok a PHP kzssgben
val alkalmazsnak elsegtsre; a ZF-ben kzs megllapodsok ritkbban hasznlatosak,
mint sok ms keretrendszerben, ehelyett az ajnlottak sszer alapbelltsokban
jelentkeznek, melyek fellbrlhatk az egyes ZF alkalmazsok kvetelmnyeinek
megfelelen.
A Zend Frameworkre az Open Source Initiative (OSI) ltal jvhagyott New BSD License
felttelei vonatkoznak, s minden kzremkdnek al kell rnia egy az Apache Software
Foundation CLA-jn alapul Kzremkdi Licenc Megllapodst (Contributor LicenseAgreement). A licenc s kzremkds szablyai annak rdekben lettek megllaptva, hogy
elkerljk a ZF kereskedelmi felhasznlira irnyul intellektulis tulajdonnal kapcsolatos
pereket.
A PHP mag kzremkdi, Andi Gutmans s Zeev Suraski ltal kzsen alaptott Zend
Technologies a Zend Framework vllalati tmogatja. A technolgiai partnerek kz tartozik
az IBM, a Google, a Microsoft s a StrikeIron.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
7/40
7
2. Az oldal funkcionalitsa
Egy weboldal ltrehozsakor el kell dnteni nhny alapvet funkcionalitsbeli dolgot.
Mgpedig, hogy milyen cllal, tartalommal, felptssel kell rendelkeznie. Egy tlagosweboldal nem tl bonyolult s minden ltogat szmra tlthatnak kell lennie. Igyekeztem
betartani azt a szemlletet, miszerint egy tlagfelhasznl kett hrom mlysgnl tovbb
nem tudja kvetni a weboldal felptst s elvsz benne. Ezrt az oldal letisztult s
egyszer hasznlni, kezelni.
Egy ilyen egyesleti kzssgi weblap tulajdonkppen nem csak arra szolgl, hogy az
egyesleti tagok kztt fennlljon a kommunikci, hanem az ismeretlen bngszk szmra
informcit nyjt eme csodlatos sportgrl.
Az oldal hat nagyobb modulbl pl fel, adja az oldal tartalmt. Ezek sorrendben:
Kezdlap Csapattagok Frum Kpgalria Versenynaptr Elrhetsgek
A ltogatk a kezdlapon talljk a legfrissebb informcikat, egy alap bevezetst magrl a
sportgrl.
A csapattagok menpont egy rvid ismertetst nyjt a regisztrlt felhasznlkrl
(csapattagokrl).
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
8/40
8
Minden regisztrlt felhasznl jogosult a frum hasznlatra, mely az adott tmkhoz val
hozzszlst jelent.
Edzseken, versenyeken kszlt kpek a kpgalria menpont alatt rhet el.
A versenynaptr az aktulis szezon versenyeirl nyjt informcikat.
Elrhetsgek alatt az edz, illetve a szakosztlyvezet elrhetsgei tallhatak meg.
Mivel ez az oldal egy kisebb kzssgi portlnak foghat fel, ezrt szksg van bizonyos
felhasznli szintek bevezetsre. Ezt ngy klnbz jogosultsg felhasznli jogosultsg
szintre tagoltam. Ezen szintek szoros sszefggsben vannak a regisztrlt felhasznlkkal,melynek az adatbzis felptse a kvetkez:
Lthat, hogy az egyes csoportok tkletesen elhatroljk a felhasznlkat s ezltal
beazonostsuk is egyszer.
A regisztrlt felhasznlknak tovbb lehetsgk van egyfajta (egy gynevezett competition
listra) jelentkezsre, amely informcit nyjt arrl, hogy az adott szezonban melyik
versenyen szeretne, illetve tud elindulni. Ez az elzetes szllsfoglalst segti a szervezknek.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
9/40
9
A hrom tbla egyttesen jl szemllteti a kztk lv kapcsolatokat.
A frum az alkalmazs taln legsszetettebb rsze. Az anonymus (nem regisztrlt)
felhasznlk, csak bngszhetik, olvashatjk a hozzszlsokat, azonban nincs jogosultsguk
bejegyzseket rni a frumtmkba. A kvetkez kt tbla azt szemllteti, hogy az egyesfrumtmkhoz hogyan kapcsoldnak a bejegyzsek:
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
10/40
10
A forumthemes tblban megfigyelhet, hogy nem a users tblban lv usersid kerlt bele
mint kls kulcs, hanem egy name (nv) mez szolglja a felhasznl azonostst. Ennek
kialaktsa azrt trtntgy, mert a ksbbiekben, a tovbbfejleszts sorn elkpzelhet, hogy
ne csak regisztrlt felhasznlk, hanem vendg (anonymus) felhasznlk is
hozzszlhassanak bizonyos tmkhoz.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
11/40
11
3. Az oldal kialaktsa
3.1. A ZEND Framework belltsai
Ahhoz, hogy el tudjuk kezdeni a weboldal fejlesztst, nhny alapvet konfigurcis dolgotbe kell lltani. Ezen belltsokat a
bootstrap.php valamint a
Initilization.php fjlokban kell
elvgezni. A bootstrap minden
alkalommal elsknt tltdik be, ezrt
ltalbanaz adatbziskapcsolatot szoktuk definilni.Az Initializerben tallhat tbbek kztt
a layout(ok), modul(ok) (modules), kontroller(ek) (controllers), kinzet(ek) (views) belltsilehetsge. Megadhatbrmelyikhez azalaprtelmezettknyvtr elrsi tja, valamint neve.
A Framework egy jl strukturlt rendszer, melyben ezen apr belltsokat elvgezve
hozzkezdhetnk a weblapunk fejlesztshez.
3.2 Modellek (models)
A modellekben tallhatk az adatbzis kapcsolatokhoz szksges osztlyok. Az osztlyokban
tallhat metdusok segtsgvel definilhatak az adatbzis tblk rekordjai, kztk lvkls kapcsolatok, lekrdez (select), inzertl (insert), mdost (update) metdusok.
3.2.1 Users
A modell osztlyokat mindig a Zend_Db_Table_Abstract osztly kiterjesztett osztlyaknt
kell ltrehozni, nincs ez mskpp a Users osztly esetben sem. Protected vltozknt
definilni kell a tbla nevt (protected $_name), valamint opcionlis lehetsg, hogy
megadjuk az elsdleges kulcsot
(protected $_primary) (termszetesen
ha nem tartalmaz elsdleges kulcsot,
nincs mit megadni). Ezt azrt clszer
definilni, mert a keress ez alapjn
egyszersdik. Opcionlisan
megadhat a tblk kztti kapcsolatok,
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
12/40
12
melyet a $_referenceMap vltoz trol.
A tovbbiakban olyan metdusok definilsa trtnik, melyben a lekrdez, beszr s
mdost sql utastsokat hasznlok ZEND specifikusan.
A getUserIdByNameegy egyszer lekrdez metdus, melyre azrt volt szksg, hogy egy
adott felhasznlnvhez tartoz azonostt (idusers) nyerjek ki. Mivel a bejelentkezskor
felhasznlnv s jelsz prossal lehet belpni, azonban a users tbla elsdleges kulcsa az
idusers, ezrt mindenflekppen szksg van erre a metdusra.
Belpskor (loginkor) a getUser segt az azonostsban, melynek visszatrsi rtke egy
boolean rtk. True rtkkel tr vissza, ha az adatbzisbanszerepel a felhasznlnv s jelszpros, valamint false az rtke abban az esetben, ha nem tallhat a felhasznl az
adatbzisban.
getAllUsers:Az adatbzisban lv sszes regisztrlt user informciit adja vissza egy tmb
vltozban. Ebben egy ZEND specifikus beptett fggvny segtsgt krem, ez pedig a
fetchAll. Paramterknt egy select utastst vr, melynek string formtumnak kell lenni. A
PHP igen knyelmes nyelvnek mondhat, hiszen dinamikusan rtelmezi a vltozkat,
azonban nhny esetben elfordul, hogy tpusknyszertst kell alkalmazni. Erre a
__toString() metdus alkalmas, amely szintn egy ZEND specifikus beptett fggvny.
A bejelentkezskor eldl, hogy ki milyen jogosultsgokkal rendelkezik. Ebben a
getGroupsByIdfggvnysegt. Ezen metdus egy sszetett select utastst tartalmaz, melyben
join kapocsolat ll fenn a users s a groups tblk kztt. A lekrdezs utn teht minden
felhasznl a megadott csoport tulajdonsgaival rendelkezik.
Az updateProfile metdusban az eddigiektl eltren nem select, azaz lekrdez utasts
hajtdik vgre, hanem egy update. Ht paramterrel rendelkezik, melyek kzl mindegyik
megadsa ktelez, ellenkez esetben az update nem fut le, azaz false rtkkel tr vissza.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
13/40
13
Ebben a lekrdezsben rdekessg mg az is, hogy a kls kulcs segtsgvel trtnik az
azonosts, melyben a getUserIdByNamemetdus segtsgl hvva kapok meg.
A regisztrcikor hvdik meg a useraddAction fggvny. sszesen hat paramterrelrendelkezik s insert sql utastst hajt vgre. Sikeres lefutsa esetn true, sikertelen lefuts
esetn false rtket ad, teht egy boolean tpus dnt a lefuts kimenetelrl.
Amennyiben felhasznl trlsre kerl sor, abben a userdel-t hvom meg, amely sszesen egy
idusers azonostt vr, s amennyiben nincs fgg bejegyzsei abban az esetben sikeresen
trli a kivlasztott felhasznlt a tblbl.
3.2.2. Groups
A groups modell egy viszonylag egyszer osztly. sszesen egyetlen egy metdust tartalmaz,
amely a regisztrcikor tlt be fontos szerepet. Ez pedig nem ms, mint az adatbzisban
trtolt sszes csoportot listzza a sor tulajdonsgaival egytt. Definilom tbla nevt, amely a
groups, valamint a fgg (dependent) tblnak a nevt is. A groups tbla fgg a users tbltl,
ezrt ennek a definilsa itt elkerlhetetlen.
3.2.3. Forum
Ebben a modellben vannak a frum tmival kapcsolatos metdusok. Termszetesen a forum
osztly is a Zend_Db_Table_Abstract kiterjesztett osztlya. Vdett (protected) vltozknt
bejegyzsre kerl a tbla neve (forumthemes) s az elsdleges kulcs is. Mivel ezen tblhoz is
tartozik referencia tblzat, ezrt egyrtelmen ezt is definilom. Ilyenkor meg kell adni a
tblzatban lv rekordjnak a nevt, a referencia tblzatban elhelyezked modell
osztlynak a nevt, valamint a referencia tblzat rekordjnak nevt.
A getAllForumthemesazon frumtmk neveit adja rtkl, melyek aktv tmk, azaz a root
vagy a frum admin felhasznl aktv tmnak llt be. Egy egyszer lekrdez script
hajtdik vgre, melynek felttelben az aktvnak titullt tmkra trtnik a szrs.
Visszatrsi rtke fgg az sql lekrs kimeneteltl. Sikeres lefuts esetn true, ellenkez
esetben pedig false.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
14/40
14
A getThisForumthemes meghvsakor egy adott jl definilt frumtma tulajdonsgaival
leszek gazdagabb. Ezt akkor tudom felhasznlni, mikor egy felhasznl bejegyzst kvn rni
valamelyik tmhoz. Sikertelen lefutskor false, sikeres lefutskor true rtke van.
Opcionlis metdusok kz tartozik a
updateForumTheme deleteForumTheme createForumTheme
Ezeket csak a root admin s a frum admin tudja meghvni.
updateForumTheme: Hrom paramteres fggvny, melynek els kt paramtere az update
adat rsznl jtszik szerepet, majd a harmadik paramter a felttel szrsekor kap szerepet.
Amennyiben sikerlt az update, boolean tpus dnt arrl, hogy sikeresen vagy sikertelenl
hajtdott vgre.
Emennyiben trlni akarok egy tmt, abban az esetben a deleteForumTheme-t hvom meg,
amely egy azonost alapjn kivlasztott tmt trl az adatbzisbl.
Amennyiben a trlssel ellenttben j tma bejegyzst szeretnk ltrehozni, a
createForumTheme fggvnyt alkalmazom. Sikeres lefutskor kt paramter addik t a
servernek. A harmadik paramter ellltshoz egy beptett PHP fggvnyt alkalmazok,
amely az ppen aktulis (szerver) dtumot generlja v-Hnap-Nap ra:Perc:Msodperc
formtumban.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
15/40
15
3.2.4 Forumview
Ebben a modellben is megadom azon rtkeket, amelyek szksgesek a tbbi tblval val
kapcsolat kialaktsban, valamint a tbla nevt illetve elsdleges kulcst, azonostjt.
a countViewsOneThemesmetdus az eddigiektl eltren nem egyselect utasts eredmnyt
adja adatknt, hanem egy integer tpus szmot. Ez azt szmolja meg, hogy hny bejegyzs
van egy-egy frumtmban.Egy paramtere van, ez pedig egy frumtma azonost. Hamis
rtkkel egy esetben trhet vissza, amikor nem ltezazonostval van paramterezve.
Hogy ki milyen bejegyzst rt a tmkhoz, termszetesen ez is egyszeren egy select utasts
lekrdezse utn nyerhet ki. Ebben a getCommentspublikus fggvny segt. rdekessge,
hogy a kommenteket a hozzszlsok berkezsnek sorrendjben listzza, teht a legfrisebb
bejegyzs kerl majd a lap tetejre.
Ahhoz, hogy tartalom is legyen egy tmban, szksg van bejegyzsekre is. Az
insertCommenttel ezen bejegyzsek bejegyezhetek. Hrom paramtere van, melyek a nv, a
bejegyzs szvege valamint a tma azonostja. Az aktulis dtumot ismtelten a datebeptett PHP fggvnnyel hatrozom meg. Amennyiben sikeres az adatfelvitel true,
sikertelen esetben false az rtke.
A deleteViewsByForumTheme s a deleteViewsByRoot metdusok szorosan sszefggnek
egymssal. Hiszen, amennyiben bejegyzsek tallhatak egy frum tmban, akkor
termszetesen a tma trtlse sql hibazenettel trne vissza. ppen ezrt, mindenek eltt
trlni kell a bejegyzseket, majd utna trlhet a frumtma. Mind kt metdus teht egy
delete utastst tartalmaz sql scriptet futtat. Paramtereik azonosak, egy azonostt vrnak, a
frumtma azonostjt.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
16/40
16
3.2.5. Competition
A Competition modell osztly, a versenynaptrnl lesz jelents. A modell tblaneve a
competitions, elsdleges kulcsa az idcompetitions. Kt publikus metdusa a listzsnl illetve
a felvitelnl lnyeges.
getCompetition: Az eddigiekhez megszokott mdon, ez a metdus egy lekrdez sql selectet
hasznl, melynek sikeres lefutsakor a visszatrsi rtke egy tmb. Ebben a tmbben az
sszes rekord rtke megjelenik, gy knnyen listzhat. Amennyiben hibval szl ell gy
false rtkkel tr vissza.
A versenyek felvitelhez az addCompetition fggvnyt hasznlom.Ngy paramtere van,ezek sorrenben: $name, $location, $startdate, $enddate. A nv a verseny nevt, a location a
verseny helysznnek helyt adja meg. A startdate s az enddate egy-egy dtum tpus
vltozk, ezek a verseny kezdett illetve a vgt adjk meg.A felvitelhez egy insert metdus
van segtsgre s true vagy false rtke hatrozza meg a felvitel kimenetelt.
3.3. Kontrollerek
A Zend Frameworkben s mint a tbbi MVC rendszerben, itt is a rendszer szvt tltik be a
kontrollerek. A Zend_Controller egy komplett rendszert jelent, amely a mr meglv subclass
osztlyokat dolgozzk fel. Azonban ltrehozhatk j osztlyok is, amelyek klnbz
interfszek vagy elvont osztlyok, melyeknek cselekv kpessgt adatkezel
csaldosztlyokban, pluginekben, vagy helperekben lehet menipullni. A kontrollereknek
jutott az a szerep, hogy a PHP fordt ltal generlt kd magjt hozzuk ltre bennk. Ezek
minden esetben a Zend_Controller_Action kiterjesztett osztlyai. ltalban az osztlybanszerepl metdusoknak publikus hozzfrst szoktunk adni.
A kontrollerek esetben az els lps az, hogy ellenrizni kell a file rendszer felptst,
melynek egy tipikus elrendezse a kvetkez:
application/
controllers/
IndexController.php
models/
views/
scripts/
index/index.phtml
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
17/40
17
helpers/
filters/
html/
.htaccess
index.php
Minden kontrollernek van egy alaprtelmezett metdusa, amely alap llapotban az
IndexAction. Azonban ez az Initializer.php-ben megvltoztathat, mdosthat. Az hogy
melyik kontroller tltdik be, az URL path segtsgvel dnti el a rendszer. A
http://pirosattila.info/kezdolap/index URL-bl az szrhet le, hogy a kezdlap kontroller
tltdik be automatikusan s annak is az indexAction metdusa. Minden kontrollerhez
tartozik egy nzet script is, melyet ktelezen ltre kell hozni, ellenkez esetben egy kivtelt
dob a kivtelkezel, mely figyelmeztet minket, hogy ltre kell hozni.
3.3.1. IndexController
Ez a kontroller nlam csak egyetlen egy dolgot vgez, mghozz azt, hogy egy filebl betlti
a kezdolap.phtml tartalmt. Ebben a fileban van a kezdlapon elhelyezked statikus szveg. A
fileban val trolsra azrt volt szksg, hogy a ksbbiekben megnvekedett ltogatk
szmval az adatbzis nagy valsznsggel nagyobb terhelst kap s ezt szerettem volna
ezzel tehermentesteni.
3.3.2. KezdolapController
Ebben a kontrollerben sem trtnik semmilyen lnyeges. Egyszeren egy redirekt hajtdik
vgre, mely az IndexController tartalmra visz. Enneklnyege abban nyilvnul meg, hogy az
URL-ben szebben jelenhessen meg.
3.3.3. AuthController
Az els rdemleges dolog ebben a kontrollerben van implementlva. Az osztlyon bell
tallhat kett metdus. Az egyik a bejelentkezskor, azaz a loginkor lesz lnyeges, a msik
pedig a kijelentkezsnl (logoutnl).
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
18/40
18
A loginAction metdus a bejelentkezsrt felels.
A legelejn egy isTrue vltoznak false rtket lltok be, ezt azrt alkalmazom, mert alapjba
vve felttelezem minden ltogatrl, hogy nincs bejelentkezve. A $this->_request->isPost()
bels fggvny segtsgvel megvizsglom, hogy trtnt-e form klds, azaz megtrtnt-e a
bejelentkezs rlapnak a kitltse. Amennyiben igen, le kell ellenrizni, hogy az adott
felhasznlnv s jelsz pros ltezik azadatbzisban, vagy sem. Miutn megtrtnt az rlap
kitltse az $isUser vltoz jra rtket kap a kirtkelsnek megfelelen. Ha sikeres a
bejelentkezs, true rtket vesz fel s pr dolog alapveten trolsra kerl a ksbbiek
azonostsa vgett. Azt, hogy a felhasznl a bejelentkezs utn tudja hasznlni a regisztrlt
felhasznlk elnyeit a session segtsgvel rem el. Egy munkamenetet nyitva trolom el a
felhasznlnevt, a felhasznl azonostjt, valamint hogy melyik csoport tagja.Ezutn az
$this->view->isTrue rtke true rtket kap, majd meghvdik jbl az oldal, amely ezutn
mr azonostva a bejelentkezett felhasznlt tltdik be.Ki kell trnem arra az esetre, amikor
sikertelen a bejelentkezs, ilyenkor egy errorString nevezet vltoz a Sikertelenbejelentkezs! rtket kapja. Ezen vltoznak az authControllerhez tartoz nzetben lesz
jelentsge, melyre a ksbbiekben kitrek majd.
Termszetesen, ha volt bejelentkezs, egyszer ki is kell jelentkeztetni egy belpett usert.
Ilyenkor a logoutAction fut le, melyben az eddig lefoglalt munkamenetet szabadtom fel az
sszes benne lv tartalommal egytt. Ilyenkor a felhasznl szmra megsznnek a
bejelentkezssel jr jogai s ismt anonymuskt tud bngszni. Amennyiben jra szeretne
pldul frumbejegyzst rni, ismtelt bejelentkezs szksges.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
19/40
19
3.3.4. CsapattagokController
Hrom metdusos osztly.
Ebbl az els az indexAction, melyben az sszes eddig regisztrlt felhasznl listzsra kerl.A users modulban tallhat getAllUsers fggvnyt hvva egy rendezett tmbt kapunk. a
$params vltoz egy opcionlis paramter, amely egy rendezs funkcit tlt be a megadott
paramternek megfelelen.
A personalmodifyAction az a metdus, melyben a regisztrlt felhasznlk adatmdostst
tudnak vgrehajtani. A $params vltoz a GET illetve a POST paramtereket egyarnt
magban hordozza. Ezlltal nagyon knnyen feldolgozhatak az adatok. A $groups vltoz
egy kontroller helperben megrt fggvny rtkt kapja meg, amely azt, mondja meg hogymelyik csoportban van az ppen bejelentkezett
felhasznl.
Ezek utn egy jl megszokott rutin ellenrzs hajtdik vgre, ez pedig az rlap elkldsnek
ellenrzse. Ha az adatmdost form elkldsre kerlt, akkor le kell ellenrizni, hogy az
sszes input (beviteli) mezk ki lettek-e tltve. Amennyiben nem, abban az esetben az
$errorString vltoz a Minden mez kitltse ktelez! rtket veszi fel. Ezek utn mivel
ezen rlapon a jelszavak is mdosthatak, leellenrzm, hogy a jelsz mezk egyez
rtkeket vesznek fel, avagy sem. Ezutn egy rutin e-mail cm ellenrzs hajtdik vgre, mely
a helyes szintaktikt figyeli. Erre egy regexp kifejezst hasznlok, mely a kvetkez:
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
20/40
20
'^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9]+$'
Ezek utn ha minden kivtelkezelsen sikeresen tment, meghvdik egy mdost metdus,
melynek paramterl adva az rlapon kitlttt rtkeket fellrja az adatokat. Az
updateProfile lefutstl fgg az $errorString rtke. Sikeres lefutskor a Sikeres
adatmdosts rtket veszi fel.
Az rlap elkldse eltt a bejelentkezett felhasznl lthatja eddigi adatait. Azonban egy
plusz funkcival egszl ki amennyiben root adminisztrtori jogosultsgai vannak egy
felhasznlnak, hiszen nem csak a sajt adatait mdosthatja, hanem brki mst.
A kvetkez action a usersadAction. Ebben van leimplementlva a regisztrcival
kapcsolatos kd valamint cseles mdon elrejtve benne a trlssel kapcsolatos dolgok. Afelvitelben termszetesen egy form ll rendelkezsre, melyben megadhat paramterek egy
rutin ellenrzs utn bekerlnek az adatbzisba. Ezen funkcijt az oldalnak csak s kizrlag
a root admin szmra aktv. Megbizonyosodva arrl, hogy a bejelentkezett felhasznl
adminisztrtori jogosultsgokkal rendelkezik s kitlttte az rlapot, valamint egy hidden
(rejtett) POST paramterknt megkapja a useradd rtket, a regisztrcis kdrszlet fog
lefutni. Ezek utn, amennyiben az sszes mez kitltsre kerlt, valamint az adatbzisban
nincs mr ilyen nev felhasznl semmilyen ms akadlya nem merl fel annak, hogy egy jbejegyzs kerlhessen az adatbzisba.
Am
ennyiben trlni szeretnk egy mr elzleg beregisztrlt tagot, abban az esetben egy
userdel POST paramtert kell figyelni. ilyenkor egy listbl vlasztva tudom megadni hogy
melyik usert szeretnm trlni. Ha megtrtnt a kivlaszts, akkor hajtdik vgre a userdel
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
21/40
21
metdus, melynek egy paramtere a felhasznl azonostjt vrja, mely minden bejegyzst
trl az adott felhasznlrl.
3.3.5. ElerhetosegekController
Az ebben implementlt kd nagymrtkben hasonlt a kezdolaphoz. A cl itt is ugyan az
volt, hogy tehermentestsem az adatbzist, ppen ezrt egy file tartalmnak a betltse
hajtdig vgre egy egyszer filekiolvasssal. A kiolvasott file neve: elerhetosegek.phtml.
Ennek a filenak a ksbbiekben mindenflekppen rsi joggal kell rendelkeznie, hiszen csak
abban az esetben kerlhet bele brmifle mdosts.
3.3.6. ForumController
Ez a kontroller az egyik legsszetettebb kdjttartalmazza az alkalmazsnak. Ezt jelzi az is,
hogy t komolyabb metdussal rendelkezik.A frum megrsakor trekedtem arra, hogy az
egyszer alapvet dolgokat tartalmazza, azonban tbbet tudjon mint egy egyszer
vendgknyv.
Az indexAction, azaz a frumtmk listzst teszi elrhetv, illetve adminisztrtori
jogosultsgokkal rendelkez felhasznlk mdosthatjk a frumtma nevt, illetve
bellthat, hogy egy aktv illetve egy nem aktv frumtmrl van sz. Valamint ezen
felhasznlk j tmkat is ltre tudnak hozni. Ekkor meg kell adni a tma cmnek a nevt,
valamint azt, hogy aktv vagy inaktv a tma.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
22/40
22
A metdus legvgn hvdnak meg azon lekrdezsek melyek az adatbzisbl az adatokatkrdezik le. Erre azrt volt szksg, hogy az adatok elkldsvel s mdostsval
egyidejleg csak egyszer kell lekrni a friss adatokat.
A thisAction metdusnak a lnyege az, hogy egy adott frumtmn belli adatokat listz,
valamint regisztrlt felhasznlk szmra bejegyzseket lehet felvinni az egyes tmkhoz.
Hozzszlsok bevitele azonban opcionlis, ha valaki csak olvasni akar a bejegyzsek kztt,
akkor csak olvas, ha hozz is akar szlni, akkor hozz is szlhat. A szoksos rlap elklds
vizsglata utn mr csak azt ellenrzm, hogy a beviteli mez ki van-e a tltve. Amennyibennincs res bejegyzs nem kerlhet az adatbzisba. A metdus legvgn belltsra kerl pr
nzetben hasznlatos vltoz:
$this->view->groups = $groups; $this->view->comments = $comments; $this->view->thisForumTheme = $thisForumThemes; $this->view->errorString = $errorString;
.
A modifyAction csak az adminisztrtorok szmra elrhet funkci. Egy kivlasztott tma
nevt illetve azt hogy aktv vagy inaktv tma lehet mdostani. A szoksos rutin formklds
utn egy ltalnos input beviteli meznek a megltt vizsglom, melynek tartalom nlkli
llapota hibakezelst ignyel. Amennyiben a tma neve mez resen van elkldve,
visszaugrat az oldalra a kvetkez hibazenettel: A tma neve nem lehet res!. Azonban ha
minden adat helyesen lett kitltve, akkor az adatbzisba egy ments kszt a vltoztatott
adatokkal. Ha egy adminisztrtori jogosultsggal nem rendelkez felhasznl szeretn mgis
ezt a funkcit ignybe venni, a rendszer annyira intelligens, hogy mg csak vletlenl sem
tudja hasznlni s tugratja a foldalra, mintha egy ismeretlen oldalt szeretett volna betlteni.
DeleteAction: Termszetesen ez is adminisztrtori jogosultsgot ignyel. Egy frumtma
trtlse kapcsolatban van az adott tmhoz bejegyzett adatokkal is. Egszen addig nem
trlhet egy tma, amg abban ltezik bejegyzs. ppen ezrt szksges a bejegyzsek
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
23/40
23
elsdleges trlse. Egy kivlasztott tma trlsnl elszr egy biztonsgi oldalra irnyt t,
melyben megadhat hogy valban kvnja az adminisztrtor trlni a tmt vagy sem.
Amennyiben nem trli, visszaugrat a tmkhoz. A trls elfogadsakor minden bejegyzsvel
egytt trldik a frum tma is, mely egy helyre nem llthat folyamat, azaz ha egyszer
kitrltem valamit, mr nem hozhat vissza.
Azonban lehetsg van arra is, hogy egy frum tmn belli bejegyzst trljenek az admin
felhasznlk. Erre a deletethisAction fggvnyem lesz segtsgemre. Teljesen hasonlan
mkdik mint az elz metdus, annyi klnbsggel, hogy csak egy bejegyzs trlse
engedlyezett egy idben. A trlskor egy rlap fogad, melynl ki lehet vlasztani, hogy
valban trlsre kerl a bejegyzs. Amikor igen vlasz rkezik a fordthoz, akkor a
bejegyzs meghvja a deleteViewsByRoot metdust, mely a Forumview modulbl
pldnyostott fggvnyknt rhet el. Sikeres trls esetn mr nem jelenik meg a bejegyzs
az adatbzisban, ellenkez esetben hibazenet fogad bennnket: Nem tudtam trlni a
bejegyzst!.
3.6.7 VersenynaptarController
Ebben a kontrollerben kt metdus tallhat. Az els igen egyszer, mg a msik egy kicsit
komplikltabb kdot tartalmaz.
Az indexActionegy egyszer sql select segtsgvel lekrdezi az adatbzisbl a versenyekrl
trolt informcikat (getCompetition), majd egy tmb tpus vltoznak adja t rtkl.
A versenylista feltltsrl a competitionupdateAction gondoskodik. Ez a fggvny egy file
alapjn dolgozza fel a tartalmat s importlja az adatbzisba.
A feldolgozand file felptse:
verseny neve|helyszn|verseny kezdete|verseny vge
Mikuls Kupa|HU, 1021 Budapest Jagell t 32|2009-04-12|2009-04-14
Hajd Kupa|HU, 1021 Debrecen Nagyerdei t 27|2009-06-20|2009-06-21
Szeged Kupa|HU, 1021 Szeged Jagell t 32|2009-04-12|2009-04-14
Lthat, hogy a tartalom feldolgozs nlkl nem igazn rtelmes adatokat tartalmaznak.
Azonban feldolgozs utn az adatbzisba kerlhetnek.A metdus elejn tisztzni kell a file
helynek abszolt elrsnek a helyt, ez alaprtelmezetten a application/versenyek. Egy
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
24/40
24
biztonsgi vizsglat utn a file megnyitsra kerl s soronknt trtnik a feldolgozs. Minden
sor az adatbzisba kerl egszen a file vgig. Az egyes sorokon bell a pipeline (|)
elvlasztval vannak elklntve egymstl. Ezeket az explode fggvnnyel dolgozom fel,
majd ezutn kvetkezhet az adatbzis feltltse. Arra kell figyelni, hogy amikor egy ilyen
feldolgozs trtnik, akkor az elzekben felvitt adatok trldnek az adatbzisbl s helykre
az j adatok kerlnek bejegyzsre.
3.6.8 ModifyController
Ebben az osztlyban egy metdus tallhat, amely az elzekben emltett statikus fileok
tartalmt kpes mdostani a vltoztatott rtkek alapjn.
Az indexAction metdusban zajlik le e funkci. Az URL-ben tadott paramter hatrozza
meg, hogy melyik file tltdik be a kvetkez keppen:
$filename = "../application/fonix/files_data/".$params["page"].".phtml";
A $params["page"] csak az elrhetsgek illetve a kezdlap paramtereket kaphatja,
ellenkez esetben nem trtnik semmi. A filenv meghatrozsa utn rsra nyitdik meg a
file s az jonnan felvitt adatokat menti el. Sikeres mdostsnl legkzelebbi jratltsnl
mr a frissen mdostott adat jelenik meg.
3.6.9. ErrorController
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
25/40
25
Ebben az osztlyban egyetlen metdus szerepel, mely egy Zend specifikus fggvny. Minden
olyan kivtel ide fut bele, amelyet a Zend Framework ri ksztettek. rdemes megfigyelni
ennek a felptst:
public function errorAction()
{
$errors = $this->_getParam('error_handler');
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
$this->getResponse()->setRawHeader('HTTP/1.1 404 Not Found');
$this->view->title = 'HTTP/1.1 404 Not Found';
break;
default:
// application error; display error page, but don't change
// status code
$this->view->title = 'Application Error';
break;
}
$this->view->message = $errors->exception;
}
Ez a modul azt vrja hogy egy vezrl tugrassa s kezelje a hibkat. Az alaprtelmezett
modul ebben az osztlyban az errorAction.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
26/40
26
3.4. Nzetek (Views)
A Zend_View egy osztlyban dolgozik a "view" rsszel, a modell-nzet-vezrl mintval.
Lnyegben kt f lpsbl ll:
1. Sajt vezrl parancsok ltrehozsa a Zend_View pldnyaknt2. A Zend_View ellenrzi a kimenetelt s megjelenti a vgeredmnyt.
Minden nzet elejn definilhat a title, ezltal minden oldalon ms-ms rtk adhat meg
neki.
3.4.1. Auth
Az auth nzetben tallhat a login nzet.
Jl lthat a kt kp kztti klnbsg. Az egyik a bejelentkezs eltt llapotot jelenti meg,
mg a msik a login utni llapotot brzolja.
3.4.2. Index
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
27/40
27
Az index nzeta kezdlapon elhelyezked informcikrt felels. Belltom benne a title-t s
az oldal placeholdert.
3.4.3. Kezdolap
Mivel ez a nzet teljesen megegyezik az Index viewval, ezrt erre nem trnk ki.
3.4.4. Csapattagok
Ez a nzet 3 kln oldalbl ll:
index.phtml personalmodify.phtml useradd.phtml
Az index view egy lalnos informci megjelentsben segt. Az rdekessge, hogy a
megjelentshez a jquery nevezet javascript gyjtemnyt hasznlom, amely rdekes
effektjeivel hangulatoss, rdekess teszi az oldalt.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
28/40
28
A fels rszen lthat, hogy az oldalon linkek segtsgvel rendezhet a listzsi sorrend.
Valamint a nvre, illetve arra a boxra klikkelve amiben a nv is megjelenik, egy ltvnyos
effektel tgrdl a kivlasztott nvre. Listzsnl kerlend a tblzatos elrendezs,
ugyanis a mretezskor minden bngsz mshogyan viselkedik. ppen ezrt a div megoldst
alkalmazom helyette.
A personalmodify.phtml tartalma egy mdost form mez. Ezen az oldalon az
adminisztrtorok brki azonossgt mdosthatjk.Klnlegessge ennek az oldalnak, hogy a
szletsi dtum mez knyebb trolsa-megjelentsrdekben szintn egy jquery-s modult
alkalmaztam. Ennek a neve a datepicker.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
29/40
29
A felhasznlk hozzadsa,azaz az useradd is egy form kitlrst valstja meg. Illetve ehhez
tartozik mg a felhasznlk trlse is. A beviteli input mezkn kvl select boxok is
tallhatak a megjelentett oldalon.
A felhasznl hozzadsa:
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
30/40
30
Felhasznlk trlse:
3.4.5. Elrhetsgek
Az elrhetsgeknl a csapattal kapcsolatos informcik lthatak. Leginkbb a kontakt
informcik megjelentsre kell itt gondolni.
3.4.5. Forum
Alaprtelmezsknt csak a frumtmk jelennek meg, azonban adminisztrtor hozzfrsseltbb funkci vlik aktvv.t nzetre bonthat a forum view:
1. delete.phtml2. deletethis.phtml3. index.phtml4. modify.phtml5.
this.phtml
.
Ezek sorrendben a kvetkezkppen nznek ki,
delete.phtml
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
31/40
31
deletethis
index.phtml
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
32/40
32
modify
this
3.4.6. Versenynaptr
A versenynaptr az aktulisan felvitt versenyekrl nyjt informcikat. Itt lehet tjkozdni,hogy a soron kvetkez versenyek mikor lesznek.
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
33/40
33
Jl lthat az egyszer elrendezs, amely az olvashatsg s az egyszerbb elrendezs vgettkerlt kialaktsra.
3.4.7. Modify
Ez a nzet a kezdlap s az elrhetsgek mdostsnl szksges. Egy nagyon ltvnyosjavascript alkalmazssal segtve az egyszerbb szvegfelvitelt. Ennek a neve a Tiny mce. Egymsdik genercis WYSIWYG szerkesztrl van sz. Kezelhet vele a szvegen kvlmindenfle html szabvnynak megfelel kd elhelyezse is. Ezzel nagymrtkbenknnytveaz adatok felvitelt mg a nem html hozzrtk szmra is. Egy Word szer kezelfelletetltunk, melynek alkalmazsa teljesen megegyezika Wordvel.
Pldaa kezdlap mdostsra:
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
34/40
34
4. Kpek
Kezdlap
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
35/40
35
Csapattagok
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
36/40
36
Versenynaptr
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
37/40
37
Adatmdosts
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
38/40
38
Kezdlap mdostsa
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
39/40
39
5. sszefoglals
Az alkalmazs az elksztse eltt eltervezett, kigondolt funkcikat teljes mrtkbenvgheztudja vinni. Minden funkcija mkdkpes. A felhasznli szintektl fggen lehet
bngszni az oldalt, adminisztrtori feladatokat elvgezni, egyszval minden adott, hogykellemesen eltlthesse az idejt a ltogat.
Az alkalmazs kinzete igazodik a mai ignyekhez, egy teljesen egyedi, jl hasznlhatdesignrl van sz, br lehetne rajta pr csicssabb kp, ami feldobja az oldalt, de gygondolom, egy ilyen kzssgi oldalnak, nem ez az elsdleges clja. Az oldal Internet
Explorer s Firefox al is optimalizlva lett, gy brmilyen platformon elrhet s lvezhet.
A httrkd jl strukturlt, az MVC szabvnynak teljes mrtkben megfelel. Br igentlthat s kvethet a kd, a fejleszts utn nmi vltoztatst azrt elvgeznk rajta. A Zendframework tkletes keretrendszer s rlk, hogy ezt vlasztottam.
A fejleszts ideje halad PHP fejleszt rvn nem vett sok idt ignybe, ez 1 hetet jelent.Egy hasonl weboldal elksztse alapos tervezs s kivitelezs mellett 2 hetet venne ignybe.A fejleszts sorn igyekeztem az oldalt modern jQuery technikk rvn izgalmasabb,valamint WYSIWYG szerkeszt segtsgvel az adatmdostst knnyebb tenni.
Mivel a PHP nyelv ismerete szmomra nem jdonsg, ezrt tudtam mit vrhatok ettl afejleszti nyelvtl, nem csaldtam benne s tovbbra is szeretnk hasonl tmkkalfoglalkozni a jvben.
6. Felhasznlt technolgik,alkalmazsok
APACHE 2.2.9 (Linux)
MYSQL 5.0.67
PHP 5.2.6
Zend Studio for Eclipse 6.0
Zend Framework 1.6.0
-
7/31/2019 kzssgi portl fejlesztse php s zend framework segtsgvel
40/40
PHPMYADMIN 2.11.8
GIMP 2.6.1
MYSQL WORKBENCH
7. Irodalomjegyzk
Peter Moulding : PHP Fekete knyv
Felhasznlt Internetes adat:
1. A PHP nyelv hivatalos dokumentcija:http://hu.php.net/manual/en
2.http://framework.zend.com/
3.http://www.w3schools.com/
4.http://hu.wikipedia.org/wiki/PHP
5.http://hu.wikipedia.org/wiki/Zend_Framework
8. Fggelk
A README.txt fjl tartalmazza a program sszes funkcijnak futshoz szksges
belltsokat.
http://hu.php.net/manual/enhttp://hu.php.net/manual/enhttp://hu.php.net/manual/enhttp://framework.zend.com/http://framework.zend.com/http://framework.zend.com/http://www.w3schools.com/http://www.w3schools.com/http://www.w3schools.com/http://hu.wikipedia.org/wiki/PHPhttp://hu.wikipedia.org/wiki/PHPhttp://hu.wikipedia.org/wiki/PHPhttp://hu.wikipedia.org/wiki/Zend_Frameworkhttp://hu.wikipedia.org/wiki/Zend_Frameworkhttp://hu.wikipedia.org/wiki/Zend_Frameworkhttp://hu.wikipedia.org/wiki/Zend_Frameworkhttp://hu.wikipedia.org/wiki/PHPhttp://www.w3schools.com/http://framework.zend.com/http://hu.php.net/manual/en