Sziasztok!
Tudtok-e valahol lehetőleg magyar leírást, hogyan kellene elkezdeni, vagy hogy hogyan kell megalkotni egy olyan keretrendszert, amit utána modulokkal bővíthetek. Elsősorban most PHP-ban írt programhoz kellene, de később ezt felhasználnám java és egyéb programokhoz is.
Persze az elvet ha megértem, hogy hogyan kell megoldani, hogy a programba betöltött plugin az működjön(pl. joomla), hogyan kell megírni az alapot, utánna már menni fog a többi programnyelvben is.
Előre is köszönöm a segítséget.
- 4463 megtekintés
Hozzászólások
Drupal működéséről olvass cikkeket, helyenként nézz bele a kódba, nagyon hasznos, sokat lehet tanulni. Ha ragaszkodsz a PHP OOP szintaxisához (nem cél a PHP 4 kompatibilitás), akkor nézd a 7-es kódját, már kezd készen lenni.
- A hozzászóláshoz be kell jelentkezni
Kösz,ennek utána fogok nézni. Amúgy általánosságban is érdekel a téma, hogy hogyan kell megvalósítani egy ilyen rendszert, de kifejezetten most a szakdolgozatomhoz kell. Most kezdem majd el írni. Amúgy az alapja CakePHP lesz, ami jelenleg még PHP4-el kompatibilis.
- A hozzászóláshoz be kell jelentkezni
Szerintem, a CakePHP részéről orbitális nagy hülyeség a PHP4-gyel kompatibilisnak maradni, mert elesnek egy csomó funkciótól (pl autoloading) ami adott esetben a performanciára is hatással lehet, a kód átláthatóságáról nem is beszélve.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Csak a Drupal forráskódját ne ajánld tanulásra, mert nem szép :)
http://rubyonrails.org/
http://kohanaphp.com/
http://www.concrete5.org/
Szerintem ebben a sorrendben, a Concrete5 egy kész CMS, a többi framework. Ha később másra is akarja használni a tudását, akkor ezekhez hasonló MVC felépítésű kódokat kell ajánlani.
- A hozzászóláshoz be kell jelentkezni
http://drupal.org/coding-standards
És akkor most vitatkozhatunk a szépségről és az egységességről.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
Nem feltetlen a kod jolformaltsagarol beszelgetunk.
Egyebkent meg:
- a PHP fajl vegerol elhagyni a ?> -t... hat nem tudom, ez elsosorban 1) php parser bug, fixalni kene... 2) miert is tartozik ez a reszlet a programozora? 3) Ha mar van nyito tag, sok IDE megkoveteli a zaro taget, kulonben alahuzza az egesz kodot, es nincs szintaxisellenorzes (ez persze a legrosszabb eset, de erre is fel kene keszulni).
- TRUE, FALSE: Minden normalis nyelv a kisbetust preferalja. Mert azt konnyebb beirni, es mert azok nem teljesen konstansok, inkabb a nyelv reszei.
- en tiltanam a shell stilusu valtozo include-olast (echo("Foo: $foo");), mert rontja az olvashatosagot, es mert nem szep.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
- a PHP fajl vegerol elhagyni a ?> -t... hat nem tudom, ez elsosorban 1) php parser bug, fixalni kene... 2) miert is tartozik ez a reszlet a programozora? 3) Ha mar van nyito tag, sok IDE megkoveteli a zaro taget, kulonben alahuzza az egesz kodot, es nincs szintaxisellenorzes (ez persze a legrosszabb eset, de erre is fel kene keszulni).
Ehhez csak ennyit.
PHP File Formatting
General
For files that contain only PHP code, the closing tag ("?>") is never permitted. It is not required by PHP, and omitting it´ prevents the accidental injection of trailing white space into the response.
Note: Important: Inclusion of arbitrary binary data as permitted by __HALT_COMPILER() is prohibited from PHP files in the Zend Framework project or files derived from them. Use of this feature is only permitted for some installation scripts.
Innen: http://framework.zend.com/manual/en/coding-standard.php-file-formatting…
- A hozzászóláshoz be kell jelentkezni
Ujra: PHP parser bug, fixalni kene. Peldaul ettol a dologtol nem lesz valid XML egy XHTML PHP fajl. Es mi az, hogy egy zaro tag _nem szukseges?! Akkor a nyito miert szukseges egy csak PHP kodot tartalmazo fajlnal? Ez most kivagta a parser errort. Tessek nekem megindokolni, akkor elhiszem, hogy jo dontes volt. Addig azonban bug marad, akarmilyen szepen is irjatok le, kedves PHP fanok.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
> Es mi az, hogy egy zaro tag _nem szukseges?!
Van, hogy az EOF megfelel zárótagnak. Pld manapság már nem kötelező minden szöveget tartalmazó sort LF-el lezárni, a szöveg utolsó soránál elmaradhat a sorzárótag, megfelel az EOF is. A gcc pld ír egy warning-ot, de azért feldolgozza az ilyen szöveget is. A DOS-os copy parancs kitesz egy fájlzárótagot amikor szöveg fájlokat fűz össze, de az már nem elvárás, hogy minden szöveg fájl végén kötelezően ott legyen ez a zárótag, mert megfelel az EOF is.
Szóval több évtizedes hagyománya van a zárótagok elhagyásának.
- A hozzászóláshoz be kell jelentkezni
? A gcc konkretan sikoltozik, ha egy fuggveny zaro } jelet lehagyom (syntax error at end of input)! Azon felul, sem a gcc sem a DOS copy nem kezel, es nincs is koze XML-like dolgokhoz, a PHP-val ellentetben, ahol pl XHTML-t is irhatok, marpedig az XML is egyben. Szoval itt elkezdett keveredni a szezon meg a fazon, a ketto nem ugyanaz.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Igyál egy kávét légyszi, mert néha úgy tűnik, nem vagy képben.
Itt senki sem beszélt a {} jelekről, hanem a PHP blokkot lezáró ?> jelről van szó, és pontosan oda van írva, hogy miért. Az XML-t és az XHTML-t pedig megint nem értem pontosan, hogyan keverted ide, itt most tiszta PHP kódot tartalmazó fájlokról van szó, amelyek nem tartalmaznak HTML-t, és semmi mást. És mivel csak PHP van benne, értelemszerűen egy lezáró tag lenne, az is a fájl végén.
Aztán hogy te magadnak mit és hogyan keversz össze, az már a te dolgod.
For files that contain only PHP code...
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
Ez a kontextus nagyon nem volt akkor ertheto:
"... a szöveg utolsó soránál elmaradhat a sorzárótag, megfelel az EOF is. A gcc pld ír egy warning-ot, de azért feldolgozza az ilyen szöveget is. "
Itt konkretan mire gondoltal?
Egyebkent pedig a php modulkodoknal en mindenkeppen csak ketfele megoldast tartok elfogadhatonak:
1) konzekvencia - nincs kulonbseg a csak PHP-t tartalmazo kod, es a HTML-t is tartalmazo kod kozott, mindkettonel megkovetelni a zarotaget
2) specializacio: azon kodok, melyek tisztan modul kodok, feleslegesen kezdodnek <?php taggel. Egy megfelelo extension valasztassal el lehetne hagyni ezt a taget.
Barhogy is, a jelenlegi allapot totalis inkonzisztenciat tartalmaz; es olyan erzest kelt, mintha valaki lustasagbol nem akarna kiirni a ?> -t, es erre nem scriptet irt, hanem a php ertelmezot keszitette fel az o lazy szovegbevitelere.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Azt a hozzászólást nem én írtam, de szerintem egyszerűen a sorvége jelre gondolt.
Azt pedig, hogy téged frusztrál a jelenlegi helyzet, ne vetítsd rá a PHP-re, és pláne ne a Drupalra.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
> Itt konkretan mire gondoltal?
Pld: http://www.valentina-db.com/bt/view.php?id=438
"When importing a text file with ImportText, the last record will not be imported if there is no trailing linefeed at the end of the file."
Te mindig oda szoktál figyelni, hogy az utolsó szövegsor végén is ott legyen a sorvégjel? Vagy jobb, ha nem kell odafigyelni, mert anélkül is jó?
- A hozzászóláshoz be kell jelentkezni
Ha IDE-ben dolgozok, az IDE van olyan kedves erre (is) odafigyelni, ha pedig nem IDE-ben, akkor altalaban osszejon annyi ures sor, hogy a fajl vegen sokszor nem is csak egy ures sor figyel. Egyebkent meg tudtommal van erre vim modul is, szoval en nem szoktam ilyeneken aggodni.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
pedig ertheto volt, te magyarazol hulyeseget..
- A hozzászóláshoz be kell jelentkezni
Játszhatod az óberokost, attól még beégtél.
- A hozzászóláshoz be kell jelentkezni
"a szöveg utolsó soránál elmaradhat a sorzárótag, megfelel az EOF is. A gcc pld ír egy warning-ot," hogy epp labon lotted magad.
ha epp egy header file-ban kovetsz el ilyet, es epp egy makro definicio az utolso sor, akkor a kovetkezonek include-olt c file elso sora is bekerul a makrodefinicioba. optimalis esetben emiatt lehany teged a gcc, de elofordulhat olyan szelsoseges eset is, hogy a behuzott sorral egyutt is ertelmes marad a makro, le is fordul, aztan segfaultol.
- A hozzászóláshoz be kell jelentkezni
Van egy olyan érzésem, hogy debuggoltál már ilyen hibát :-).
- A hozzászóláshoz be kell jelentkezni
Nem php fanok irtak le, hanem a php fejlesztői. Másreszt meg azért, hogy ne rakjál html kódot a php kódba. Tehát ha include-olsz egy filet amiben csak html van akkor elszáll parse error-ral, kényszerítve hogy ne csinálj ilyet. Persze ha kirakod a záró taget akkor nem történik semmi.
- A hozzászóláshoz be kell jelentkezni
Ezt a Zend Frameworkhoz ajánlott kódolási stílus. Nem pedig azt mondja, hogy minden PHP projektben így KELL csinálni. Az a baj, hogy így is lehet csinálni.
- A hozzászóláshoz be kell jelentkezni
Alapban igen, de a drupal is hasonlo dolog miatt ajanlja és itt erről van szó hogy ha tisztán OOP kódot irsz, akkor ne rakjal záró taget és hrgy84 ebbe kötött bele. Senki nem mondta hogy ha kevert kódot írsz, akkor is hagyd el. Ezért drupal coding standrads és nem php coding standards.
- A hozzászóláshoz be kell jelentkezni
Akkor csereld le a megfelelo szot, en mar nem tudom szerkeszteni. Teljesen mindegy, ez meg szamomra mindig BUG es nem FEATURE.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
LOL, write only mode? :)
Gondold már végig és vonatkoztass el attól, hogy nyitó és zárótag, az csak jelzés értekű. A PHP értelmező minden sorra echo-t hív meg. Ha megadod neki, hogy <?
, akkor átkapcsol értelmező módba, ?>
-ra pedig visszakapcsol. Ennyi, nem varázslat. Ez a lehetőség megvan Perlben, Pythonban, Rubyban is, az a PHP sajátossága, hogy defaultban így szállítják.
--
return 0;
- A hozzászóláshoz be kell jelentkezni
Igen, amde szerintem total egyszeru egy olyan eloreolvaso mechanizmus, hogy ha a parsolando fajlban a tovabbiakban mar csak ures sorok vannak, akkor azokra nem kell echo-t hivni. Es ezt persze eleg mondjuk az apache modul eseteben fixen bekapcsolni, ahol ugyebar nincs igeny whitespace scriptbe embeddelt php-t futtatni.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
patches are welcome
Tyrael
- A hozzászóláshoz be kell jelentkezni
( hrgy84 | 2010. február 9., kedd - 8:07 )
Ujra: PHP parser bug, fixalni kene. Peldaul ettol a dologtol nem lesz valid XML egy XHTML PHP fajl
@
Miiiii vaan? Miert kene xhtml validnak lenni egy php fajlnak? Mert az eger pupos, vagy miert? Ez olyan mint h aki nem tud uszni, ne masszon fara, mert eluti a villamos! Kb annyi koze ezeknek egymashoz. Ugy tunik a Microsoft evangelistai kiadtak embereiknek, akik ismernek olyan szavakat mint xhtml, valid, stb, azok fikazzak jobbra balra a PHP -t, ettol remelve, hogy tobb fejleszto es megrendelo fog atterni az o termekeikre. Mar ha ertelmet keresunk, akkor ez johet szoba talan...
- A hozzászóláshoz be kell jelentkezni
Ez kicsit paranoid. A PHP nagyon elterjedt, ennek az okát nem nagyon értem, vannak nála sokkal jobban használható és átláthatóbb nyelvek. És hogy lásd, nem a microsofttól jöttem: ruby, python, perl.
Viszont próbálja meg valaki megmagyarázni egy pizzéria tulajdonosának, hogy az 500Ft-os tárhelyet, amit kinézett nem lesz jó, mert csak PHP-t tud :) A létjogosultsága itt van. A neve is "hypertext preprocessor", nem éppen CMS-re vagy webáruházra lett kitalálva a nyelv. Csavarhúzóval is be lehet ütni egy szöget.
Nade: minden pistike ismeri (tud benne gányolni olcsón). A legolcsóbb tárhelyen is alap. Melyik megrendelő hallott másról?
- A hozzászóláshoz be kell jelentkezni
( zoner | 2010. február 10., szerda - 0:05 )
Ez kicsit paranoid/.../Nade: minden pistike ismeri (tud benne gányolni olcsón
@
Ez meg kicsit sztereotip :) Pistike barmely nyelven tud ganyolni! Ez nem nyelv specifikus!
( zoner | 2010. február 10., szerda - 0:05 )
nem éppen CMS-re vagy webáruházra lett kitalálva a nyelv
@
De pont arra :) Amugy herotom van mar az effele vitaktol.Mert nehez azzal vitatkozni amikor valaki kijelenti, hogy miert lett kitalalva egy nyelv, es ebbol aztan vegso kovetkeztetest von le. Mert mi van akkor ha nem erre lett kitalalva, de kozben alkalmassa tettek ra? Persze, pusztan csak elmeleti megfontolasbol vagyok ra kivancsi. Szal nagyon sablonos dolgok ezek, php vs. java, mysql vs. postgresql, alien vs. predator...
- A hozzászóláshoz be kell jelentkezni
"Mert mi van akkor ha nem erre lett kitalalva, de kozben alkalmassa tettek ra?"
Épp az a bajom, ahogy alkalmassá tették rá. Persze ettől még használom, mert kell, a megrendelőnek szüksége van rá, épp ezért látom át az összes hibáját.
Nekem az a furcsa, amikor valaki szépnek találja a PHP-t és nem értem, hogy miért van ez. Nem tudom elképzelni, hogy valaki nem próbálkozott mással. Ha már ez a szakmája, hobbiból miért nem próbál ki egy Ruby-t vagy Python-t
- A hozzászóláshoz be kell jelentkezni
szerintem 3 fazis van a PHP tanulasban:
az elso az, amikor el tudsz benne kezdeni dolgozni, es latod hogy mindenre jo, ezert sztarolod a nyelvet.
a masodik fazis az, amikor rajosz, hogy ugyan nagyon sok dologra jo, de nehanyra vannak sokkal hatekonyabb eszkozok, ebben a fazisbol kerulnek ki a php-t leglelkesebben fikazok (azok kozul, aki mas nyelvbol jott, sokan egybol ide kerulnek)
es van a harmadik fazis, amikor mar egyutt tudsz elni a hibaival, mert mar zsigerbol tudod hogy hol kell alanyulni, ha valami nem megy, es tudod hogy mit nem PHP-ben fogsz csinalni.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Minden csak annak a fuggvenye hogy hogy hasznalod. Igaz rubyba nem astam igazan bele magam csak megnezegettem par video tutorialt ami fent volt a hivatalos oldalon (marmint itt most ruby on railsrol beszelek leginkabb), ahol az urge nekiallt ruby hivasokat rakni meg a template htmlekbe is. Szerintem meg ez nem szep. Lehet mashogy is csinalni? biztos, de o most csak tutorialt mutogatott, ez van. En peldaul elegge megkedveltem a spring frameworkot mikor javaval dolgoztam, es most hogy megint phpval dolgozom, nekialltam azt a technikat/strukturat kovetni amit ott hasznaltam, tobb-kevesebb sikerrel (inkabb tobb). template oldalon meg osszedobtam egy view kezelo classt ami nagyjabol tudja amit az alap JSTL Core tag lib, aztan ha nosztalgiazni akarok akkro azt hasznalom. Igy legalabb a view majdnemhogy cieplheto a 2 kozott.
Mindenben lehet ronda kodot irni, es szerintem mindenben lehet szepet is irni. phpban leginkabb az egyszeruseget szeretem, foleg tombok teren. Aki szenvedett mar egymasba agyazott hashmapekkel javaban az tudja mire gondolok
- A hozzászóláshoz be kell jelentkezni
Meg lehet oldani szepen is, csak egy tutorial nem arrol szol, hogy hogyan dolgozzunk szepen. Ami fenn van a neten 15 minute tutorial, az abba levo technikak jo reszet nem alkalmaznam mar eles siten, de arra jo volt, hogy az ember megtanulja, hogy is mukodik a dolog.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
( zoner | 2010. február 10., szerda - 11:17 )
Ha már ez a szakmája, hobbiból miért nem próbál ki egy Ruby-t vagy Python-t
@
Nemi prekoncepcio azert felfedezheto abban, hogy szerinted aki szepnek talalja a PHP -t az meg hobbi szinten sem probalt mast! :)
Gondolom itt abbol indulnak ki az emberkek, hogy van valamilyen megoldasuk egy feladatra akkor megis minek kene masik megoldast keresniuk? Persze ez szinten nem nyelvspecifikus, ugyan ugy ervenyes Ruby, Python fejlesztokre is. Toluk is megkerded, hogy miert nem probaljak azokat a feladatokat amikre mar van kesz megoldasuk, megoldani mondjuk PHP -ben?
Masik nyelvnek akkor lesz jelentosege igazabol, amikor egy adott nyelven nem letezik elerheto megoldas [mindegy h milyen okbol: kompetencia, kulso policy, stb] egy feladatra. De ha egy fejleszto ceg szempontjabol is nezem a dolgot, akkor a cegnek sem erdeke, hogy olyan megoldasokat preferaljon amik indokolatlanul hasznalnak kulonbozo megoldasokat a kulonbozo projekteknel azonos feladatra. Es ez nem csak a nyelvek kozotti valasztasra igaz, hanem meg az egy nyelven beluli megoldasokra is.
- A hozzászóláshoz be kell jelentkezni
( zoner | 2010. február 10., szerda - 0:05 )
próbálja meg valaki megmagyarázni egy pizzéria tulajdonosának, hogy az 500Ft-os tárhelyet, amit kinézett nem lesz jó, mert csak PHP-t tud :)
@
Kepzelem a szamitasi kapacitast, funkcionalitast amit egy pizzeria honlapja igenyel...LOL. A pizzeria tulajdonosanak legyen mar jo az 500 Ft -os php -s tarhely. Ha mar neki sem, akkor megis kinek lenne jo?
- A hozzászóláshoz be kell jelentkezni
nono, ezek szerint nem lattad meg a dominos backendjet ;)
- A hozzászóláshoz be kell jelentkezni
Wow! Ez tenyleg franko oldal . Meg is eheztem:))..."Domino's Pizza operates a network of stores in more than 60 international markets, so a delicious Domino's pizza may be closer than you think."
- A hozzászóláshoz be kell jelentkezni
A ?>-val kapcsolatban:
- tényleg elég gáz bugokat tud okozni
- milyen IDE húzza alá? netbeans, eclipse, vim, katepart OK nálam
- A hozzászóláshoz be kell jelentkezni
Komodo sem szól érte.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
elég szomorú
- A hozzászóláshoz be kell jelentkezni
Gondolom ezeket mar felkeszitettek a PHP idiotasagaira. Meg szerencse. Es egyben valoban szomoru, en alahuznam. Vastagon.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Egy kicsit eltértetek a tárgytól.
- A hozzászóláshoz be kell jelentkezni
De csak egy icipicit :-)
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
neha ijeszto vagy. :)
a vicc az, hogy hup-rol tobb ilyen mentalitasu embert (ertsd: infos vagyok, ami nem ugy mukodik, ahogy en csinalnam, vagy elso ranezesre nem ertem miert ugy van, az szar.)
mit szolsz hozza, hogy js-ben nem kell ; a parancsok vegere, mert az ujsor is jo, es bashben?
alahuznad azt is vastagon?
halisten/sajnos a nyelveket a piaci igenyek alakitjak, nem pedig a hozzad hasonlo megmondoemberek igenyei.
a fajl vegen ugyis leall a php parser, ezert nyugodtan opcionalissa tehettek a nyelv iroi a zaro ?> kitetelet.
es sok editor be szokott rakni minden megnyitott fajl vegere egy ujsort, amire ha nem figyel az ember es amugy ott a lezaro ?>, akkor kimenetkent a kepernyore kerul, es mokas dolog az ilyet debugolni.
Tyrael
- A hozzászóláshoz be kell jelentkezni
mondjuk pont javascriptben ajanlatos, ha minimalizalod a file meretet kesobb
- A hozzászóláshoz be kell jelentkezni
altalaban a minimizer megcsinalja, de nem is a hasznos kodolasi szokasokra akartam ramutatni, hanem arra, hogy mekkora idiotasag idiotasagnak hivni az ilyen kenyelmi funkciokat, es hogy pl. js-ben is bash-ben is van ilyen.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Ez akkor SEM bug (bar azt nem ertem, ki mit sporol meg ezzel a ket karakterrel.)
die(DIE_HARD);
- A hozzászóláshoz be kell jelentkezni
"ki mit sporol meg ezzel a ket karakterrel?"
szerintem egy csomo fejfajast probalnak megsporolni
a zaro tag elhagyasa azt jelenti, hogy akarhany whitespace lehet a file vegen, a parser eof-ig dolgozik, es nem fog semmi kikerulni a kimenetre, amig le nem futott minden ami az adott file-ban van
arrol viszonylag egyszeru gondoskodni,hogy a nyito tag a legelso karakteren kezdodjon, a zaro tag utani whitespace-t kiszurni mar nehezebb
es ha csak egyetlen enter is kikerult a kimenetre, lottek a cookiek beallitasanak, headerek kikuldesenek, atiranyitasnak, sessionkezelesnek, stb.
ezert kezdodik nalam az index.php ugy, hogy <?php ob_start(); es minden mast innet include-olok
- A hozzászóláshoz be kell jelentkezni
Nyitó tagnál is meg lehet szívni azzal, hogy egy szerencsétlen editor odaszemetel egy BOM-t, de egyébként jól leírtad.
Mondjuk, ha rajtam múlna, se nyitó, se záró tag nem lenne. Ez egy forrásfájl, nem egy katyvalék.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
( Yorirou | 2010. február 8., hétfő - 23:11 )
tényleg elég gáz bugokat tud okozni
@
Milyen 'gaz bugokat' konkretan [vagyis _nem_ peldaul]?
Mert ha hasznalsz zarotagot es utana van egy ures sorod es includolod ezt a fajlt, akkor kinyomja a fejleceket mivel az mar output lesz.
Ezt konnyen meg lehet szivni.
- A hozzászóláshoz be kell jelentkezni
"headers already sent"
- A hozzászóláshoz be kell jelentkezni
ja...oke, akkor ugyan azt mondjuk :)
- A hozzászóláshoz be kell jelentkezni
"- a PHP fajl vegerol elhagyni a ?> -t... hat nem tudom, ez elsosorban 1) php parser bug, fixalni kene... 2) miert is tartozik ez a reszlet a programozora? 3) Ha mar van nyito tag, sok IDE megkoveteli a zaro taget, kulonben alahuzza az egesz kodot, es nincs szintaxisellenorzes (ez persze a legrosszabb eset, de erre is fel kene keszulni). "
Tudod milyen idegesítő, mikor egy ?> után maradt szóköz vagy enter miatt szív az ember?
1) Nem bug.
2) Miért kell C#-ban kirakni a {} -ket? Az is csak nyelvi elem.
3) Az, hogy fos az IDE, arról nem a PHP fejlesztői tehetnek (melyik volt az az IDE?)
3.1) Inkább a nyitó taget el kellene törölni. Most vagy PHP kódot parseolunk, vagy mást.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
en regebben bekapcsoltam eclipse-ben (es az osszes munkatarsam eclipse-n is bekapcsoltattam!), hogy menteskor trimmeli a whitespace-t a sorok vegerol editor. nagyon fel tudnak idegelni az olyan nehezito korulmenyek, amikor End-re nem az tortenik, amit en ohajtok:P
- A hozzászóláshoz be kell jelentkezni
Szia!
A ?> záró részt azért kell elhagyni, hogy még véletlenül se kerüljön whitespace karakter a fájlban a php kód mögé. (Mert akkor később már nem tudsz headert beállítani, és a hibát debuggolni sem olyan egyszerű, ha sok fájlod van.) Egyébként ennek semmi köze szerintem a kód átláthatóságához.
- A hozzászóláshoz be kell jelentkezni
Szia,
Én mindenképpen javasolnám a Zend Framework-öt. Nagyon sok olyan tervezési mintát használ, amik más rendszerekben is hasonlóak.
CMS részről én is javasolnám a Drupalt, szerintem a 6-os sem csúnya, könnyen átlátható.
PHP perzisztencia rétegnek nagyon kellemes a Doctrine. Az összes ORM minden platformon hasonlóan működik, tehát már csak-e miatt is érdemes megismerkedni vele. A Drupal 7 DB:TNG sem tűnik rossznak az előadások, dokumentációk alapján.
Csúnya, "ezt így ne csináld" kódnak pedig a vTigert ajánlom.
Nem tudom, hogy milyen feladatot akarsz megoldani, de a 0-ról, vagy akár egy frameworkből indulás helyett lehet, hogy pl. Drupal-ból kiindulva jobban jársz:
- sokkal többet tudsz a feladat érdekes részeire koncentrálni, ha olyan dolgokat, mint pl. formkezelés nem kell újra feltalálni.
Üdv,
Gergely
- A hozzászóláshoz be kell jelentkezni
"PHP perzisztencia rétegnek nagyon kellemes a Doctrine"
Megjegyzem Postgresql tábla öröklődést nem támogatja pl.
ZendFrameworknek +1
- A hozzászóláshoz be kell jelentkezni
( kisg | 2010. február 9., kedd - 14:11 )
Én mindenképpen javasolnám a Zend Framework-ö/.../ olyan dolgokat, mint pl. formkezelés nem kell újra feltalálni
@
Nos ZF -t persze szokas dicserni...miert is? Mert hasznal tervezesi mintakat?...vagy a f@sz tudja. Attol meg eleg silany dolgok vannak benne. Raadasul tul van bonyolitva..Mert pl a Zend_Form -ot nyugodtan ujra lehetne irni! Talan a sajat interfaceivel kompatibilisnek kene maradnia!
Mar eleve tok rohej, hogy ugy kepzeltek el a beviteli mezok csoportjanak [group] egyuttes validaciojat [pl password password-ujra egyezes a regisztracional], hogy a csoport egyik mezojenel beallitott szabalynal kene isValid fgv. -ben a validationContext -bol kibanyaszni a tobbi a elemet. Apro szepseghiba, hogy igy a tobbi mezore beallitott filterek mintha nem is lennenek, vagyis igy csak a raw ertekekhez lehet hozzaferni, de ez mind semmi ahhoz kepest, hogy a Zend_Validate_Interface nem is engedi isValid fgv -nekl a masodik (validationContext) parametert. Az meg mar csak hab a tortan, egyben a PHP szegenysegi bizonyitvanya, hogy ennek ellenere elerheto a func_get_args() meghivasaval. LOL :DD
( kisg | 2010. február 9., kedd - 14:11 )
CMS részről én is javasolnám a Drupalt
@
Oszinte reszvetem! En mindig megremulok, h vannak akik ilyesmik hasznalatara kenyszerulnek. Ugy vagyok ezzel a drupal nevu izevel, mint a Tina Magazinnal. Nem kell hozza ismernem, hogy tisztaban legyek a nivojaval. Eleg amit lattam belole anno...egy eletre elment a kedvem tole:
user jogosultsagok sessionben valo tarolasa, kulonbozo adatok serializalt tombkent valo tarolasa az adatbazisban, stb..
- A hozzászóláshoz be kell jelentkezni
Ugy vagyok ezzel a drupal nevu izevel, mint a Tina Magazinnal. Nem kell hozza ismernem, hogy tisztaban legyek a nivojaval. Eleg amit lattam belole anno...egy eletre elment a kedvem tole:
user jogosultsagok sessionben valo tarolasa, kulonbozo adatok serializalt tombkent valo tarolasa az adatbazisban, stb..
Ez mikor volt? A szerializált adat miért baj? Mármint szerinted.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
( nevergone | 2010. február 10., szerda - 8:32 )
A szerializált adat miért baj? Mármint szerinted.
@
Gondoltam ez nyilvanvalo, de akkor megprobalom elmagyarazni. pl Egy szep napon megker a fonokod, h exportaljad ki az akarmilyen site felhasznaloinak adatait excel tablazatba. Erre lelkesen elinditod a kedvenc adatbazis kezelo alkalmazasodat, a kivant tablahoz navigalsz, majd megdobbenve tapasztalod, h a felhasznalok tulajdonsagai serializalva vannak tarolva egy mezoben. Ami igazan meglepo, ellenben a legkevesbe sem mulatsagos. Suru anyazasok kozepette nekiallhatsz kodot irni...Es ezen tapasztalat aztan a kesobbiekben meglehetos ovatossagra int, ha pl olyasmi kerul szoba, hogy egy Javaban irt webszerviz turkaljon drupalos site adatbazisaban...
Azert bizonyos esetekben akar megengedheto lenne, hogy nyelvspecifikusan taroljanak le adatokat, teszem azt pl temporary dolgoknal, cachenel. De egyebkent ez alapveto tervezesi prolemakra utal.
- A hozzászóláshoz be kell jelentkezni
Értem. Bár nem tudom, hogy milyen Drupal verzióval és mikor szereztél tapasztalatot, de továbbkérdezek: Megnézted, hogy milyen adatot tárol szerializálva?
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
Az elobbi konkret eset volt (de ezen kivul is lattam serializalt adatokat). Lovesem nincs a verziorol. Es csak annyibol van jelentosege verzionak, hogy a drupal fanok akik szerint a drupal a kiraly CMS, hirtelen ugy valtoztathassanak velemenyt, hogy drupal a kiraly CMS az x.y verziotol. :-D
- A hozzászóláshoz be kell jelentkezni
Értem. Amúgy elárulom, hogy a belső változótól és a cache-tól eltekintve mindent rendesen, saját táblában tárol. Szóval nem tudom, hogy te melyik verzióban és mit akartál machinálni, bár a Drupalnak van szép és jól dokumentált API-ja direkt azért, hogy azon keresztül kérd le az adatokat.
Részemről ennyi ez a thread.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
de az api hasznalatahoz valoszinuleg php kodot kell irni, es szerintem o pont ezt akarta teljesen elkerulni azzal hogy direktben kiszedi a DBbol
- A hozzászóláshoz be kell jelentkezni
Nyilván, de erre meg azt mondom sarkítva, hogy ha van API, akkor mi köze ahhoz, hogy a rendszer mit és hogyan tárol, amíg megbízhatóak és gyorsan végzi a dolgát? Nyilván ebben az esetben is többféle (rész)igazság létezik.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
Jó, de ezt úgy kellene megcsinálni, hogy:
1.) fog az N+1 CSV exportáló modulból egyet, és kiexportál vele azt, amit akar
2.) hív egy full bootstrapet egy üres PHP fájlban, és használja az API-t
3.) drush eval '...'
- A hozzászóláshoz be kell jelentkezni
eleg mazochista lehetsz, ha megirod a zend formjaidhoz a validatorokat is.
en hamar leszoktam errol, inkabb egyesevel validalom a $_POST-bol kibanyaszott mezoket, es igy legalabb egyszeruen meg tudom kulonboztetni az add es az edit eseteket. a decorator-ok is egy nagy hanyas, nem lehet ertelmesen stilusozni vele az elemeket. legalabbis nekem nem sikerult, es a neten is hiaba kutattam helloworldnel bonyolultabb peldak utan.
- A hozzászóláshoz be kell jelentkezni
cakePHP-ban akarok webáruház CMS-t létrehozni szakdolgozathoz. A cakePHP az adott, azon már nem változtathatok. Úgy akarom a rendszert összehozni, hogy írni egy alapot, és modulokként kapcsolni hozzá a különböző tulajdonságokat, amiket a webáruháznak tudnia kell.
- A hozzászóláshoz be kell jelentkezni
egy webaruhaz ujabban mar szakdolgozat tema? Vagy en lattam mar nagyon reg webaruhazat vagy ez inkabb egy hetvegi projekt...
- A hozzászóláshoz be kell jelentkezni
manapsag igy megy ez.
lehet valasztani, hogy regenyt irsz, vagy webshopot.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Hat amit en lattam tanfolyast, a vizsgamunkak egytol egyig forum volt meg webaruhaz.
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
perpillanat 2 dolog foglalkoztat a témával kapcsolatban:
Mondjuk, hogy megvan egy hírek modul, meg van egy blog modul, meg van egy commentek modul külön-külön. .../news/show/21-re a 21. hír jelenik meg, /blog/show/12-re a 12. blog, de anélkül akarom alá tenni a kommenteket, hogy bele keljen nyulni a darabokba. Akkor ezt megcsinálhatnám pl úgy, hogy van egy osztály, ami nézegeti, hogy milyen modult akarok betölteni, és ha olyat, ami kommentezhető, akkor alá teszi a komment medult. De akkor ezt hogy? Egy XML-be vagy php tömbbe kéne tennem, hogy melyik modul melyik metódusa alatt kéne, hogy megjelenjen melyik "kiegészítő modul", mint pl komment vagy szavazás? Elég furán hangzik.
Egy modulnak több megjelenése van, pl itt a hup-on a fórumnak van a téma lista, altéma lista, a konkrét thread, a jobb oldali utolsó hozzászólások, stb. Akkor hogy érdemes? Több modulra bontani, és külön modulokba tenni a listákat, a thead-et, jobb oldalt? ez nem tűnik ésszerűnek. Vagy egy közös kontrollal több view fájlal? vagy egy osztályba, ahol több view metódus van?
a drupalben nem akarom megnézni, mert nem látom át, és nem is oo. Más CMS-eket szeretnék nézni, már megvolt. _Ti_ hogy csináltátok?
---
dropbox tárhely igénylés: https://www.dropbox.com/referrals/NTMwMDYwODE5
- A hozzászóláshoz be kell jelentkezni
Nezd meg CakePHP-t.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
eh, ez utolsó mondatból sikerült véletlenül kitörölnöm a "sem"-et... szóval nem CMS-eset akarok nézni, hanem a Ti véleményeteket szeretném hallani
---
dropbox tárhely igénylés: https://www.dropbox.com/referrals/NTMwMDYwODE5
- A hozzászóláshoz be kell jelentkezni
Elobb talan probald ki, amit irunk, es utana tiltakozz. A CakePHP nem CMS.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ha nem csak PHP körben, hanem általánosságban is érdekelnek a modul keretrendszerek, akkor nézz utána az OSGI keretrendszernek, illetve az Eclipse extension mechanizmusának. Mindkettőről nagyon jó cikkeket lehet találni neten.
- A hozzászóláshoz be kell jelentkezni
Hello!
Bocs hogy beleronditok a topicba ,de én is szakdolgozat meg php cipőben járok. Fentebb valaki megjegyezte hogy userid-t nem igazán jó dolog $_SESSION-ben tartani. Én pont azt a tanácsot kaptam hogy a felhasználó kezelést ilyen módszerrel oldjam meg. El tudná valaki mesélni hogy miért nem egészséges?Hátha a topik indítónak is a hasznára válik majd.
Üdv.
ps: Én nem webshopozom hanem hup like hirportált csinálok. Persze csak az ötlet azonos.
- A hozzászóláshoz be kell jelentkezni
szerintem semmi baj nincs vele, csomo helyen igy hasznaljak, csak ne hasznalj melle meg register globals-t is.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Szerintem kezdj valami olyan framework-kel (kismillió van PHP-hez), ahol az alapvető problémák (pl userkezelés) már meg vannak oldva.
- A hozzászóláshoz be kell jelentkezni
Random generált és elég hosszú userid esetén nem gond szerintem. Maga a fő probléma hogy adatot kell tárolni a user gépén ami ha nem elég furfangosan van kitalálva, egy támadó személy ki tudja játszani. Sarkítok: Cookie-ban átírod a userid-t 0-ra -> admin user. Badarság, de azt hiszem jól szemlélteti a problémát.
- A hozzászóláshoz be kell jelentkezni
Mi köze a $_COOKIE-nak a $_SESSION-hoz? Cookieban _semmit_ nem tárolunk egy session ID-n kívül.
Sessionban annyit érdemes még eltárolni, hogy mi a session ID-je az usernek, mikor új sessiont nyit.
Így nem lehet megjátszani azt, hogy ellopod valakinek a session ID-jét és beírod a böngésződbe (session hijacking). (Mondjuk én tárolom még az IP és az user agentből készült hasht is).
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Szintén hasonló cipő, egy web alapú CMR rendszernek szeretnék nekiesni, részben tanulás, részben "kényszer" miatt, de ha jól alakul, még szakdolgozatnak is jó lehet :)
Úgy vélem, ide már az eddig alkalmazott "fejlesztési" megoldásaim (rendszerterv fejben, lekódolva text editorral, stb.) édes kevesek, előkerülnek a Framework, IDE, VersionTracker, stb. kulcsszavak.
Kérdésem: a fentiekből ki mit ajánl egy PHP/MySQL/AJAX fejlesztéshez?
Fw.-k közül eddig a Zend-et nézegettem, de előkerült itt feljebb a CakePHP is. Tudom, részben hitvita, de vajon melyik az alkalmasabb?
IDE-ből a Netbeans-t már használtam, de nem PHP-hez. Mennyire jó? Vagy inkább mással érdemes kezdeni?
Verziókezelőből erre vonatkozó fórumtémáknál a Git-et favorizálták nagyon. Jogos? Vagy ehhez inkább mást?
- A hozzászóláshoz be kell jelentkezni
Java-s IDE-ből a NetBeans a legjobb szerintem, én is azt használom.
Keretrendszer: Kohana
SCM: git
js framework: jQuery
Illetve ha adatbázist is tervezni akarsz, akkor MySQL Workbench, nagyon megkönnyíti a munkát, tud éles adatbázist is frissíteni, ha átterveztél valamit.
- A hozzászóláshoz be kell jelentkezni
Netbeans-t valami plugin segítségével össze lehet fogni a git-el? (eddig nem találtam ilyesmit)
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
+1 pont oda. Tetszik a megoldás, alkalmazni fogom :)
Köszi!
- A hozzászóláshoz be kell jelentkezni
nbgit. Egy van: forrasbol ujra kell forgatni, ha frissul a nb.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
A NetBeans (6.8) által támogatoot Symfony framework-ről mi a vélemény? Doctrine ORM-et használ, elsőre egész tanulható.
- A hozzászóláshoz be kell jelentkezni
Hát én 1-2 napig játszottam symfony-val, de nagyon kevés ennyi idő ahhoz, hogy akár egy blogot is csináljak vele. Kohana valamivel fapadosabb, de sokkal gyorsabban megtanultam.
A symfony sebességét ugyan nem mértem, de képzelem milyen lehet a sok fájlt végigolvasni minden egyes oldalletöltéskor.
- A hozzászóláshoz be kell jelentkezni
Hello!
Én is a netbeans-t használom a php kódoláshoz. Azt viszont hiányolom benne nagyon hogy nincs benne olyan funkció hogy a php függyvényeknél nincs hinting meg pop-up ablak a signatúrájával. Ugye ez a történet ha java a nyelv akkor meg van. De amúgy jó a dolog és azt is szeretem benne hogy ha kész a kód akkor egyből fel is tudom lökni ftp-vel a tárhelyre a kódot. Mondjuk ehhez le kellett tölteni egy külön plugint de ez nem nagy gond.
Üdv.
- A hozzászóláshoz be kell jelentkezni
Ah.. deployingra meg Capistrano-t :) Már ha van ssh a szerveren.
- A hozzászóláshoz be kell jelentkezni
Senki nem emlitette meg a django-t, szerintem nagyon korrekt es jol dokumentalt, nyitott forrasu keret rendszer pythonban, talan erdemes megnezni, ha nem akkor bocsi.
- A hozzászóláshoz be kell jelentkezni
Nekem a netbeans helyett az aptana studio jobban bejön. Igaz a 2-es verzióból kikerült a közvetlen php támogatás, csak a netbeanshez elérhető pdt-t lehet felrakni. Így az 1.5-öst kell használni, amiben szvsz jobb a php támogatás.
- A hozzászóláshoz be kell jelentkezni
Nem az a kérdés hogyan kell megvalósítani egy ilyet, hanem az hogy Te mennyire értesz a PHP-hez.
Ha nagyon és vágod az OOP-t akkor:
http://codeigniter.com és ez a bártod: http://codeigniter.com/wiki/Modular_Extensions_-_HMVC/
Ha nem értesz az OOP programozáshoz akkor:
* Csinálsz egy rakat függvényt
* kitalálod a moduláris felépítésed mappa szerkezetét
* kitalálod az URL struktúráját a rendszerednek.. melyik paraméter mit jelent..
* törekedsz a biztonságos fejlesztésre (ellenőrzöl minden mint az őrült)
URL: egyik paraméter mindig a modul neve:
pl.: /pages/akarmi_oldal
Fájlrendszer
- /modulok
-----------/pages/
------------------pages.php
- /sablonok
- /css
- index.php
- .htaccess
.htaccess-ben ráirányítod az index.php-re minden kérést (mod_rewrite)
index.php-ben
Vizsgálod az első paramétert és behívod az adott modult ha létezik, ha nem akkor haktivity van.
Nekem van ilyen és olyan rendszerem is. Mind a kettőnek meg van az előnye. A sajáthoz rendkívül egyszerű fejleszteni, viszont a másikban nem kell feltalálni a kereket.
arth2o: http://keszit.es
- A hozzászóláshoz be kell jelentkezni