Funkční sandbox pro Doctrine2
- frosty22
- Člen | 373
Zdravím Vás,
již pár dní hledám nějaké hezké již hotové řešení propojení doctrine 2 spolu s nette, dost lidí zde používá Doctrine2, čili věřím, že nějaký existuje :) Osobně jsem již nějaké jednoduché propojení měl, avšak pro starší verzi a nepříliš hezké zapouzdření.
Docela se mi líbí nástavba z kdyby, která zajímavě propojuje doctrine2 a nette, avšak funkční sandbox jsem nenašel a bohužel se mi nedaří nastavit kontajner – nejsem příliš chytrý z oněch extensions (ConsoleExtension, DoctrineExtension, …) a též z CLI.
Dále jsem tedy zkusil nellu, kde též vypadá propojení hezky, ale zde opět sandbox obsahuje nějaké chybějící části z nelly (https://forum.nette.org/…-nette-2-0-x?p=2).
Otázka tedy zní, zda-li jsem nepřehlédl nějaký zajímavý repozitář na gitu, který by mi ulehčil tuto práci? Bohužel trošku mě tíží čas, a již 3. den trávím hledáním a zkoušením tohoto :(
Samozřejmě chápu, že bych si to mohl udělat sám, jen přeci jen bych něco osvědčeného praxí, než-li si znovu montovat kolo :=)
Díky moc za pomoc .)
- Filip Procházka
- Moderator | 4668
Přehlédl. Ale je fakt, že se s tím moc nešířím. Takže jen na vlastní riziko:
$ composer create-project hosiplan/project test
(Na chatu i na twitteru jsem téměř neustále, byť jsem teď měl dva dny od posoboty více hektické, mohl jsi se kdykoliv zeptat :)
- frosty22
- Člen | 373
Čauky Filipe, moc díky za vstřícnost :) Ono já jsem ti na twitteru už psal právě ohledně tohoto tvého sandboxu a pravda, že jsem zapomněl ho tady uvést, jak jsem zmiňoval, že jsem zkoušel kdyby, tak jsem si s ním právě hrál přes tenhle tvůj sandbox :) Ale to víš, já jsem ten, co ti spamoval email, jelikož jsem si prvně nevšiml v configu tvého mailu a začala ti chodit laděnka :) viz twitter Vít-Macbook.local :)
Jinak tedy tě samozřejmě nechci moc otravovat, ale mám právě pár otázek k tomuto sandboxu, naoplátku ti pak třebas napíšu tu dokumentaci, resp. něco k ní, co zjistím :)
Nedaří se mi propojit právě CLI s bootstrapem, máš tam CliRouter to ano, ale když ho napojím v RouterFactory, tak nemůžu přijít na to, kde připojit entityManager, a hází to stále
The helper 'em' is not defined.
- Filip Procházka
- Moderator | 4668
To em is not defined
jsem opravil myslím v pondělí, asi jsi
pracoval na starém kdyby/doctrine
.
Co se týče propojení konzole, tak je zcela automatické. Našel jsem tam ale teď chybku, takže jsem vylepšil registraci cli routeru.
Dej si composer update
a spusť v konzoli:
$ php www/index.php
- frosty22
- Člen | 373
Právě, že tuto verzi mám staženou a stejně .. nemáš někde jinou verzi či je problém u mě? Protože tady máš i syntax error:
https://github.com/HosipLan/project/blob/master/app/presenters/BasePresenter.php
ten USE .. takže ten sandbox nejde ani spustit .. samozřejmě tohle jsem si opravil, a následně po zavolání:
php index.php orm:info
tak mám právě onu chybu s „em“ not defined.
Edit: Beru zpět .. ted tam mám jinou chybu .. že nemám namapované entity v konfiguraci .. tak to už si dohledám to bude LogicException :)
Edit: Tak beru vše zpět, to nebude syntax error, ty používáš již trait .. mno tak nainstaluju PHP 5.4 :)
Editoval frosty22 (30. 1. 2013 18:57)
- Filip Procházka
- Moderator | 4668
:D
Konfiguruje se takto:
doctrine:
user: root
password: heslo
dbname: projekt
metadata:
MyApp: annotations(%libsDir%/MyApp)
# ^ namespace ^ složka
PS: vyhoď si z toho projektu můj email ;)
- frosty22
- Člen | 373
Sakra, za ten email se fakt omlouvám :( Jsem si stáhl znovu ten composer celý a opět jsem zapomněl to smazat. Ale teď už je to ok.
Jinak tedy již jsem aktualizoval konečně i na PHP 5.4, a jdu se trošku vzdělat a zjistit, k čemu vůbec ty traits jsou dobré, zatím jsem je nepoužíval, a při letmém pohledu mě zrovna moc neokouzlili – tedy z pohledu objektového se mi to jeví dost divoce, ale uvidím :)
Akorát jen čirou náhodou nevíš, nevíš, proč mi autoloader od composeru nebere v potaz onen trait, resp. mi to hodí „\Kdyby\AutowireProperties“ trait not found a musím requirovat ručně, leč tedy nette robotloader tohle zpracovat umí, co jsem nyní zkoušel. Ostatně celkově ten loader z composeru vypadá dost netransparentně a zmatečně.
- Filip Procházka
- Moderator | 4668
A máš aktuální composer? $ composer self-update
, jsem si
100% jistý, že traity zvládá ;)
Composer má úžasnou architekturu, strávil jsem jeho studiem dost času :) Ten bordýlek co generuje ve vendor je maximálně optimalizovaný kód ;)