Hlavní navigace

Názor ke článku Návrat od Rails k PHP od Daniel Kvasnicka - Nejde o to, ze by mi generovany kod...

  • 8. 10. 2007 7:24

    Daniel Kvasnicka (neregistrovaný)

    Nejde o to, ze by mi generovany kod z Bake nevyhovoval. Jde prave o to, ze jsem v touze zbavit se psani CRUDu sahl po Cake a pak zjistil, ze customizace toho generovaneho kodu je horsi nez to psat sam (videla jste nekdy ty sablony, ze kterych se ty views generuji? samozrejme, ze jsem je chtel prepsat, ale hodne rychle me to preslo).

    Ve vami odkazovanem clanku jsou dost silene vety. Jako:

    "If you have a small application for which procedural programming will work, CodeIgniter does its job. In short, CodeIgniter is better than no framework.

    If you want to build a more complex application where a MVC design is necessary, then you will want to use CakePHP. "

    Jedine vysvetleni pro me je, ze pisatel CodeIgniter ani nezkusil nebo nevi, co to je MVC a nebo taky nevi, co je to proceduralni programovani... Zajimalo by me, cim je podle nej Cake "vic MVC" a CI vhodny pro proceduralni programovani. Ze Cake pomaha a neprekazi... no nevim. Co mi koncepcne vadi, je implicitni vazba controlleru na model. V tom nevidim smysl. V CI je zcela na programatorovi jaky model bude chtit v danem controlleru pouzivat. Ne, ze by to v Cake tak neslo, ale uz to znamena vice zmen. Proc vazat M na C, kdyz tu je velka pravdepodobnost, ze budu chtit pouzit modelu vice? (MVC mluvi o vazbe 1:1 mezi V a C, nikoliv M) Druha vec jsou ty jejich uchylne inflections. Kdo by nahodou chtel v nazvech modelu pouzit neco jineho nez anglictinu, ma smulu, bude mit zkomoleniny nebo se zas musi v Cake hrabat. Ne, ze bych to chtel nejak moc delat, ale tohle je proste koncepcni chyba. No a nakonec je tu ta jejich parodie na ORM. Matersky objekt, ktery na dotaz vraci prachsprosta PHP pole? Ne, dekuji. (To je ta objektovost Cake?) CodeIgniter sice neumi vazby mezi tabulkami, ale s objektovosti je dale (procedural programming?) a kdyz jsou potreba vazby, neni problem zvolit third-party ORM (treba Doctrine). V CI je take fajn, ze staticke soubory jdou uplne mimo aplikacni adresar. Cake vam nadiktuje nazvy adresaru pro obrazky, JS a CSS a kdyz chcete jine, musite zas nastavovat.

    Pripadne mi to presne naopak. Cake na male veci, kde je minimalni sance, ze pujdu mimo standard, CI na komplexni veci, kde potrebuju vice svobody (a mimochodem i znatelne lepsi vykon).