Je CodeIgniter dobrý (good enough) framework? rubrika: Programování: PHP

7 vladislav.ladicky
položil/-a 28.10. 15:54
 
upravil/-a 29.10. 10:07

Potrebujem na serverovej strane Apache s PHP kvôli tomu, že potrebujem každý request spracúvať v separate thread. Viem, že možností je viac, dalo by sa to prakticky s čímkoľvek, aj s Node, aj .Net Core, atď., ale s Node by to bolo zložitejšie a C# a pod. neovládam. Takže z dôvodu jednoduchosti a aktuálnej sady znalostí to bude Apache s PHP. V konečnom dôsledku sa to bude aj najjednoduchšie nasadzovať, stačí štandardný hosting. Avšak doteraz som používal / robil veci len v čistom PHP. Čo je samo o sebe v poriadku, ale chcem proste sprehľadniť a urýchliť vývoj s použitím nejakého frameworku. A keďže žiadny neviem, žiadny som doteraz proste nepoužíval, musím sa pre nejaký rozhodnúť.

Vyšiel mi z toho CodeIgniter. Pripadá mi najvhodnejší pre človeka, čo so žiadnym fw doteraz nerobil. Malý, jednoducho nasaditeľný - stačí nakopírovať, sám o sebe tiež prehľadný, dobre zdokumentovaný, pod. Proste ak mám ako človek ktorý ovláda PHP vytvoriť web s použitím nejakého fw ale žiadny zatiaľ neviem, vychádza mi z toho čo som zatiaľ zistil, že s CI sa najrýchlejšie dopracujem k výsledku - tomu webu. A nie len to, Laravel sa permanentne umiestňuje na chvoste akéhokoľvek perfomance review. CI na popredných priečkach. Laravel si vynucuje použitie viacero ďalších tools, CI funguje po nakopírovaní out-of-box. Atď...

Ale keďže sa v tejto problematike neorientujem, viete o nejakom "big nono", nejakom zásadnom proti CI? Resp. máte k nemu nejaké poznámky z praxe? Poprosím a vopred ďakujem za usmernenie.

odkaz Vyřešeno
13 Žížala
odpověděl/-a 1.11. 7:00
 
upravil/-a 1.11. 7:08

Osobně jsem od CodeIgniteru odešel i když se mě hodně líbí jeho routování. To je asi ale jediná pěkná věc na něm. Zbytek je tragedie. Tento framework nebyl několik roků aktualizovaný, pak se ho někdo ujmul a nic na něm nedělal. Pak najednou vyšlo pár verzí a dál nevím. Zkrátka jsem si ho nelajznul znova použít. Navíc DB podpora nic moc. Ale na jednoduché věci to stačí. Ale nehledejte nějaké ladící nástroje, code generátory apod. Co si pamatuji je tam nějaká class na benchmarky, ale ta toho nikdy moc neuměla a znamenalo to zásahy do kódu.

Musím se přiznat, že jsem do zhýčkán těmito nástroji od YII2 - http://www.yiiframework.com/doc-2.0/guide-start-gii.html https://github.com/yiisoft/yii2-debug/blob/master/docs/guide/README.md Takže pokud hledáte nějaký framework, toto by mohl být cesta. A pokud potřebujete něco rychlejší, tak je Yii2 dobrá cesta. Ze slušných frameworků už je rychlejší jenom Phalcon, ale ten je dost složitý. Ale je ďábelsky rychlý. Ale Yii2 vyhrálo z více různých důvodů u mě. Jo a má to podporu pro bootstrap. Ale tu ignoruji, neb Foundation

Komentáře

  • vladislav.ladicky : Pozrel som sa a súhlasím, že Yii je úplne inde ako CI. Ale s Yii je to rovnaké ako s Laravel - rovno sa používa cli a kopec generovaného kódu. A pointa CI je tá, že s minimom znalostí PHP je okamžite použiteľný, bez jediného pomocného nástroja. Čo však netvrdím, že je zrovna výhoda. Ale najrýchlejšie sa s ním človek naučí čo je vlastne framework, čo je vlastne MVC architektúra, atď. Pretože to je pointa - ide tu školenie PHP. Pre ľudí čo absolvovali školenie základov PHP a základov objektového programovania v ňom. A tam je ďalší logický krok školenie o nejakom frameworku, na ktorom pochopí o čom sú frameworky a MVC, lebo dnes bez týchto znalostí ešte stále nie si PHP programátor. No a také skolenie MUSÍ byť jednoduché a priniesť LEN pochopenie o čom sú frameworky a MVC. A ak na takom školení pochopia pointu, potom sú pripravení na finále: zvoľte si jeden z aktuálne používaných komplexných fw ako Laravel, či práve Yii a po ich naštudovaní a vyskúšaní na vlastnej apke ste pripravení na prax, na zamestnanie sa. 1.11. 9:50
  • Žížala : CLI neni nutno pouzit, ale je dobre na vygenerovani kostry aplikace. Problem s CI je ten, ze neni zrovna stastne udelany. Mozna pouzit pro studium nejaky microframework (Slim,Flight apod.)by bylo lepsi. Pravda je, ze s CI se da zacit velmi rychle, ale bohuzel take velmi rychle skoncit. A to presne v okamziku prace s DB. Tam naopak Yii2 exceluje, protoze se proste s GII napojite na stavajici DB, vyberete pro jake tabulky chcete nagenerovat modely a je to. Jedine co je na GII debilni je to, ze prepise stavajici kod, takze modely generuji do /models/base/ a v /models/ mam modely co jsou na nich zalozene. Code generator v Doctrine je na tomhle lip. 1.11. 10:41
  • vladislav.ladicky : Hmmm. Microframework vyzerá byť dobrý nápad. Obzvlášť ten Slim. Ako som pozrel len na úvodnej stránke, používa namespaces a syntax je ďaleko bližšie moderným frameworkom... Idem ho bližšie pozrieť. Ak sa bude jednoducho používať / chápať, s okamžitým výsledkom - to je pre začiatočníka dôležité, možno fakt požijem jeho miesto CI. 1.11. 11:15
  • vladislav.ladicky : Pozrel som bližšie Slim. A som na vážkach: učiť ho je takmer to isté, ako začať rovno s Laravelom. Syntax je pekný, čistý. Ale to aj Laravelu, obzvlášť jeho Lumen microfw. Lenže či Laravel \ Lumen, alebo Slim, som tam kde som bol, na začiatku. Rovno composer, atď. Čo ale nutne neznamená zlo, len ako to príliš neskomplikovať s ohľadom na cieľovú skupinu... Musím sa hlbšie zamyslieť čo má a čo nemá zmysel. 1.11. 11:39
  • vladislav.ladicky : Hm. Akokoľvek nad tým premýšľam, stále vyhráva CI... Pointa školenia má byť pochopenie prínosu frameworkov a ruku v ruke idúcej MVC paradigmy. A s Laravelom a pod. by to nebolo len o tom. Áno, Composer má svoj význam. Áno, nejaké ORM má svoj význam. Ale nie učiť to naraz. Najvhodnejší postup zatiaľ naozaj vyzerá byť vysvetliť iba CI, aj to nie nejak zvlášť komplexne, ale tak, aby si zo školenia odniesli znalosť ako ho prakticky použiť a mohli doma nad ním postaviť svoju prvú MVC aplikáciu. Okrem "a" však povedať aj "b" a spomenúť Composer, ORM a kompletné frameworky ako práve Laravel s tým, že po vyskúšaní a pochopení CI, by toto mali byť ich ďalšie kroky. Nič lepšie ma fakt nenapadá... 1.11. 12:43
  • Žížala : Composeru se dneska nevyhnete. Ja se ho musel naucit spolu s Yii2, k tomu Node.js a par dalsich veci. Composer/bower/npm je dneska de facto standard. A staci se ze zacatku naucit jenom to co potrebujete, v mem pipade to bylo nainstalovat composer, spustit prikazy uvedene na strankach Yii2 a bylo to... Pak jsem se kouknul do zdrojaku co si Composer vygeneroval a spousta veci byla hned jasna, jelikoz to je samopopisne. Hlavni je se nebat a rikat si, ze to nejde, ze je toho moc... Yii2 jsem rozdychal, i s celym ekosystemem, za 3 hodiny max a Helo world z meho view a meho controlleru bylo na svete.... 1.11. 13:02
  • vladislav.ladicky : Netvrdím, že to nejde a ani nepopieram, že bez Composeru sa v reálnej praxi ďaleko nedostanú, preto ako som napísal, rozhodne ho na tom školení bude spomenutý. Len nenachádzam dôvod komplikovať ním školenie o frameworkoch a MVC. Keď už daná téma ide vysvetliť aj bez neho, a tým pádom zrozumiteľnejšie a jednoduchšie na pochopenie, tak načo. A o to viac, že Composer je bundler. Čiže len pomocný nástroj, nie princíp, architektúra, pattern, či čo. Hm..., proste akokoľvek nad tým premýšľam, stále platí, že keď sa k nejakému výsledku mám dopracovať znalosťou desiatich vecí, ešte to neznamená, že sa si to musím sťažovať učením sa ich naraz, keď to ide aj po jednej. 1.11. 14:28
  • harrison314 : Ak chces ucit MVC, tak sa radcej venuj teorii, je to najmenej na 3 hodiny. Alebo so ziakmi napis vlastny MVC framework, to tez nie je na viacej ako na 3 hodiny, a clovek vie ako to funguje pod kapotou. 2.11. 10:05

Pro zobrazení všech 8 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.

Otázky uživatele vladislav.ladicky