Többen alkalmazzák sikeresen a symfony keretrendszert. Kipróbáltam a az első kis projectet, kisebb zökkenőkkel sikerült működőképessé tennem. Viszont több kérdés is megfogalmazódott bennem amit eddig nem találtam meg a dokumentációkban.
Nem találok dokumentációt az adatbázis leírásához használt szintaktikára. Sem a YAML sem a propel dokumentációban nem találtam valami "gyors" referenciát, a példaprogramok amiket eddig láttam nem túl bonyolultak.
PostgreSQL -t szeretnék használni a példák leginkább a MySQL -re utalnak (pl. autoincrement). A symfony -ban alkalmazott adatbázis leírás és az atzt feldolgozó YAML ill. propel (esetleg doctrine), hogy kezeli az ilyen különbségeket (a PostgreSQL sequence -t használ az autoinkrement helyett).
Mi a helyzet a timestamp és hasonló "spciális" típusokkal ami a PostgreSQL -ben nagyon hasznosak?
PS: nagyon zöld vagyok a dologhoz, szeretnék beletanulni, de nem áll össze a kép. Az adatbázis leírásának mikéntje nélkül akár most abbahagyhatom:(
- 2698 megtekintés
Hozzászólások
Hali
Nem mondom magam túl profinak, eddig 2 symfony-s projekten vagyok túl, egy épp folyamatban van, egy pedig félbe maradt.
Na ez a félbe maradt PostgreSQL -es volt, és pont emiat maradt félbe !
Ettől függetlenül működik PostgreSQL-el is.
A legtöbbet úgy tanulhatsz az említtet Dropel/Yaml témában akkor tudsz legtöbbet tanulni, ha egy meglévő adatbázisból generálod le a "schema-t". Ezt ugye a propel-build-schema paranccsal tudod.
A Yaml esetében 2 aranyszabály létezik, az egyik, hogy [TAB] nem lehet benne, a másik hogy betartsd a fa hierarchiát.
- A hozzászóláshoz be kell jelentkezni
Először is kössz a választ! - te vagy az első aki erre méltatott.
"egy meglévő adatbázisból generálod le" ez már kezd érdekes lenni. Persze, YAML -ba nem fogja gondolom áttenni. Illetve mi van ha módosítani/bővíteni kell, melyiket piszkáljam?
Ami PostgreSQL -t illeti valahol beleszaladtam valami szerver programba ami a MySQL -hez hasonlóra "alakítja" - de nem foglalkoztam még vele.
MÁS: A Debian -ba a symfony 1.0 került be, azonban ez kicsit túlhakladottnak tűnik, érdemes forrásból a frissebbiket feltenni? Mi a vélemény?
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Ne hasznalj Propelt. Teljesitmenyben es hasznalhatosagban is jobban bevalt nekem a Doctrine. Korrekt dokumentacioja van a symfony-s reszen kivul is. Emelett tud nativ enum erteket is, csak be kell kapcsolni, ellentetben a Propellel.
A doctrine:build-schema (vagy propel) letezo adatbazisbol csinalja meg neked a schemat. Igen, a yaml-t vagy az xml-t.
Sajnos PostgreSQL temaban nem vagyok otthon, eddig mindig MySQL -t hasznaltam mindenre, nezz utana a Doctrine dokumentacioban.
A Symfony 1.2 -t PEAR -rel rakd fel, az 1.0 nagyon regi mar, mind teljesitmenyben, mind strukturaban sokkal tobbet tud az 1.2, pl sfForm osztalyok. Nagyon hasznos tud lenni. PHP 5.2+ kell neki legalabb.
Amit emailben kerdeztel:
Bocs hogy priviben, most láttam hogy te érted hogy kell ezt a cuccot
használni. Nem árulnád el hol találom az adatbázis leírásához
szükséges szintaktikát (se a YAML se a propel dokuban nem találtam)? A
sandbox -hoz adott minta nagyon kevés.
Szerintem a symfony 1.2 + doctrine doksiban egeszen jol le van irva. Relaciok is, behavior, oroklodes.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a választ!
Sejtettem hogy az 1.0 -ás verzió nem csak elavult, de a szerző(k) is inkább a legújabb stabil verzióra hajtanak, és nem az elavultat fényesítgetik.
Lemosom az 1.0 -át, megnézem hogy működik a pear és mit tud a doctrine.
Ha pear -rel rakom fel kell valami külön a doctrine -hez?
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Nem kell. De a doksi, amit linkeltem leirja faszasan, hogy hogyan lehet bekapcsolni a Doctrinet es ki a Propelt.
- A hozzászóláshoz be kell jelentkezni
Eddig jónak tűnik. Simán felment pear -rel a symfony (először csinálok ilyet). Hiányol még egy php accelerátort, amit még nem tudom honnan szedek elő, de ez úgy tűnik ráér.
Megnézem a jobeet tutorialt :)
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Le kell forgatni egy xcache/eacceleratort. Illetve ha fejlesztesre hasznalod a vasat, akkor igazan hasznos tud lenni egy Xdebug.
- A hozzászóláshoz be kell jelentkezni
Arra figyelni kell, hogy ha a php nem forrasbol van, es frissul a php, akkor ujra kell forgatni a eacceleratort. Mondjuk egyszeru jelzese van neki: a php oldalak megallnak, ha nem jo a eacc.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Kössz a tippeket :) Én azt az APC accelerátort kerestem amit a check_configuration.php script ajánlgat - az xcache és az xdebug bináris csomagban elővan készítve debianilag :)
szerk: Nem igazán értem mit is kell leforgatni?
szerk: Fel is dobtam mind a két csomagot (php5-xcache és php5-xdebug) először a "check_config.php" nem érzékelte az accelerátort de újraindítás(!) után helyrerázódott (lehet hogy elég lett volna az apache újraindítani?).
Megjegyzés: egyébként első nekifutásra, feltettem ugye a symfony 1.0.17-4 ami a debian stable -ban benne van. Aztán "ügyesen" lehúztam az 1.2 -es sf_sandboxot és csodálkoztam, hogy nem működik - másnap, mikor bekapcsoltam a gépet elindult az 1.0 -val a kis blogocska :) Igen sajátságos dolgokat művelt, de működött! Ja mindezt, hogy ne kelljen egyszerre több problémával küzdeni SQLite -al műveltem.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
apache2ctl graceful
utan latnia kell az ujonnan felrakott php extensionokat.
Torold le az 1.0 -s debian csomagot, es hasznald a pear altal felrakottat. Lehet, hogy van xcache a debianban, en mindig forgatom. Xdebug nalam is csomagbol van fent.
- A hozzászóláshoz be kell jelentkezni
Az 1.0 csomagot már letöröltem :) Egyenlőre maradok a Debian xcache csomagnál. Kössz :)
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Graceful keves, full restart kell.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Hát, a Propel 1.3 már nem a Creole-t használja adatbázis eléréshez, hanem natívan a PDO-t. Ez sepercalatt elérhető symfony-hoz, ha az ember felteszi az sfPropel13Plugin-t. Nem mernék megesküdni rá, hogy nem lett-e gyorsabb még a Doctrine-nél is. Mindenesetre a Doctrine-nek valahogy átgondoltabb az API-ja. Igaz, a Propel-t (sőt, még a Doctrine-t is!) használhatóságban meg elég jól fel lehet tuningolni Zaninotto DBFinderPlugin-ja segítségével. Lényeg, hogy ha teljesítményről van szó, akkor saját tapasztalataim alapján azért nem tudnék ennyire egyértelműen dönteni.
- waiter -
- A hozzászóláshoz be kell jelentkezni
Ebben lehet valami, nem probaltam meg az 1.3 -at. A tobbi allitast viszont fenn tartom, jobban kezre all a Doctrine nekem.
- A hozzászóláshoz be kell jelentkezni
A témában említett sfEasyGMapPlugin -t szeretném használni. Bénázok vele, de nem akar összejönni... Nincs normális leírás róla... Arra végre sikerült rájönnöm, hogy valszeg a config.yml -be így kell betenni a google maps api key-t:
all:
google_maps_api:
keys:
dev: 'itt a kulcs van'
default: 'itt a kulcs van'
Csak ez után ilyen hibát ír ki, és Google barátom sem segített a megoldásban:
500 | Internal Server Error | InvalidArgumentException
Unable to load "JavascriptHelper.php" helper in: SF_ROOT_DIR\apps\frontend\modules/sfEasyGMapPlugin/lib/helper, SF_ROOT_DIR\apps\frontend\lib/helper, SF_ROOT_DIR\lib/helper, SF_SYMFONY_LIB_DIR/helper.
Esetleg tudsz mást ajánlani google maps api használatához?
Előre is kösz a segítséget!
- A hozzászóláshoz be kell jelentkezni