Novy OSS projekt v Nette – NBlog
- srigi
- Nette Blogger | 558
Hello, dva dni dozadu som oznamil, ze pracujem na blogu v Nette 1.0-dev s vyuzitim Doctrine 2 (beta 4). Nejake plody mojej prace uz mozete najst na github
Zatial je to velmi skora verzia, ktora ma sluzit hlavne ako edukativna ukazka
toho ako riesit Doctrine 2 v Nette Framework. Funkcny je len Frontend (veci
okolo comment formulara tiez nefunguju). Coskoro ale funkcie pribudnu.
Enjoy.
- srigi
- Nette Blogger | 558
Hello, NBlog je momentalne velmi ranna verzia – urcena na edukaciu temy „Nette 2 + Doctrine 2“. Zatial sa nehodi na zive nasadenie lebo mu chyba administracia (makam na nej od dnes).
Zatial to ma rozbehane listovanie clankov, clankov podla tagov a komentovanie (ajaxove!), vid live demo.
K svojmu behu to potrebuje Doctrine 2 b4 a nightly build Nette 2 pre PHP-5.3 (vzy sa snazim aby NBlog fungoval na poslednom builde). Nakolko su od istej verzie Nette 2 rozbite nove snippety, treba pouzit maly hack inak sa ti bude appka rucat.
Aplikaciu potom klasicky spustis bud ako novy virtualhost Apache (DocumentRoot je www_root) alebo ju nakopiruj do localhost zlozky Apache (netestovane), vtedy sa to spusta tiez klasicky – 127.0.0.1/NBlog/www_root
CO sa tyka DB, v configu je nastavena MySQL, takze si vytvor nejaku DB na serveri a nastav parametre v config.ini. Strukturu databazy je mozne vytvorit dvoma sposobmi:
- pomocou doctrine-cli – v zlozke scripts je pritomne commandline
rozhranie
- pre Linux spusti
./doctrine orm:schema-tool:create
- pre Windows (netestovane) spusti
php -f doctrine-cli.php orm:schema-tool:create
(mozno nepojde, treba skusat, nemam windows)
- pre Linux spusti
- pomocou SQL scriptu, ktory som zabudol pridat do repozitara (ihned to napravim), ten spusti napr. cez phpMyAdmin alebo Adminer.
Ja osobne preferujem 1. moznost lebo je naozaj velmi navykova. Nasledne je potrebne do DB nasukat nejake demo texty – su sucastou SQL skriptu.
Ak by si mal nejake dalsie problemy, kludne sa ozvi.
- JakubJarabica
- Gold Partner | 184
Aby slo na Windowse jednoducho zacat volat „php …“, je potrebne si definovat systemovu(alebo pouzivatelsku) premennu Path s cestou k PHPcku. (setting-up-command-line-php-on-windows) – cast Permanent.
Skript som stiahol, stiahol prislusne verzie Nette a Doctrine, skusil spustit bez vytvorenia DB a vyzera to, ze som na dobrej ceste:
PDOException #42S02
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nblog.post' doesn't exist
.. Aby som si vytvoril DB schemu, volam toto:
php -f doctrine-cli.php orm:schema-tool:create
, ale v CLI
interface mi hlasi PDOException s chybou „Could not find driver“. Je to
divne, lebo ked v config.ini v sekcii development < common zmenim driver
z pdo_mysql na nieco ine(neexistujuce) hodi to inu chybu – DBALException
o zlom driveri.
Googlil som, ale nic som nenasiel. Ak to pomoze, musel som v php.ini zapinat pdo_mysql.dll aby som sa dostal na vynimku nblog.post neexistuje, tak z toho sudim, ze v normalnom rezime PDO funguje ale v CLI dako strajkuje :(
Po importe suboru dump.sql skoncim na chybe so snippetmi, takze DB v development mode cez pdo_mysql funguje, ale v CLI ee.
Any ideas?
- regiss
- Člen | 61
Ahoj Srigi,
vypada to fakt dobre. Muzu potvrdit, ze na Ubuntu10.4 to frci OK.
Jak uz jsi zminil, musi se nahrat posledni verze Doctrine a Nette 2.0 do libs a
nastavi jim prava cteni :) (vzdycky na to zapomenu) a nastavit prava pro temp.
Pak uz jenom vytvorit databazi pomoci prvniho zpusobu.
Beru tento projekt jako studijni material, takze jeste jednou diky Srigi.
Pokud by se ti podarila dopsat administrace bylo by to super. Musim si projit
cely kod a zjisti jak vsechno funguje :)
Jeste jsem te chtel pozadat, jestli by jsi sem nenapsal celkovy koncet toho Blogu. Nemyslim tim podrobnou dokumentaci ale spis jak to vsechno do sebe zapada (Routy, Presentery, Sablony, Slug) Proc je to tak a ne onak :)
Zdravi Ondra
- JakubJarabica
- Gold Partner | 184
Tak podarilo sa mi vyriešiť problém so spúšťaním PHP pod Windows CLI.
Používam EasyPHP, ktoré má config.ini umiestnené v zložke EasyPHP\conf_files.
Pokiaľ sa na Windowse nespustí s príkazom
php -c {abs. cesta k php.ini} doctrine-cli.php orm:schema-tool:create
,
tak zrejme ignoruje alebo načíta iný php.ini. Pre „debugovanie“ je dobré
začať príkazom php -i
, kde sa dá nájsť zoznam podporovaných
PDO driverov(v mojom prípade tam nebol žiadny – preto hádzalo
PDOException).
Ešte môže byť problém v načítavaní PHP extenzií, preto je fajn mať v PHP.ini uvedený ako extension dir absolútnu cestu.
Toľko k spúštaniu Doctrine CLI pod Windowsom, teším sa na ďalší vývoj Nblogu, nakoľko to je skvelý edukačný materiál ohľadom Doctrine2.
- srigi
- Nette Blogger | 558
Vdaka chalani za pekne komenty. Momentalne sa zameriavam na vyvoj administracie (nieco uz je v repo, na live deme este nie). Potom kcem pridat veci okolo Texy, takze primarne to teraz nebude o Doctrine 2. Ked bude admin cca hotovy, pustim sa do veci oklo paginovania clankov, (hadam aj) stromovych kategorii, kesovania, optimalizacie SQL dotazov a tak.
Takze „stay tuned“. A pokial ide o pokec/komentovanie a pod stuff. planujem zacat blogovat (samozrejme na platforme NBlog) a tam sa o tom rozpisat.