Bästa ORM för PHP/CI vs. python

Permalänk
Medlem

Bästa ORM för PHP/CI vs. python

Hallå.

Jag ska påbörja ett nytt webbprojekt och skulle vilja få in lite funderingar från er andra. Sidan som ska upp är ett ganska enkelt community för en förening med ca 300 medlemmar där det mesta av inputen gör av administratörer.
Sidan innehåller klassiska element som nyheter, bifogade filer, medlemsregister, mailutskick, fotoalbum mm.

Nuvarande version är skriven med php och codeigniter.

Jag påbörjade ett projekt förra året där vi använde oss av doctrine 2 som ORM. Jag blev dock lite besviken när vi kommit en bit på vägen då jag tyckte att det saknades för mycket funktionalitet. Framförallt när det kom till att söka efter entiteter, ex. blev frågorna svåra att lösa med doctrine om joinsatserna var för komplexa.

När jag nu ska starta nästa projekt så ser jag framför mig följande uppsättning (endast backend):

  • CI + Doctrine 2 (men det har jag redan testat och jag var lite besviken)

  • CI + GAS ORM (GAS är lightweight ORM som saknar mycket av det som Doctrine har, men det stödjer ActiveRecordChaining)(aldrig använt själv)

  • CI + DataMapper (har aldrig använt, någon som har?)

Några andra ORM som ni använt mot CI?

Alternativet är att jag lär mig python och kör det med flask eller django. Nackdelen är ju helt klart att jag först måste göra något miniprojekt för att lära mig python (+framework + eventuellt något ORM) innan jag kommer igång med mitt faktiska projekt.

Tankar uppskattas!

Länkar:
CI: https://www.codeigniter.com/
Doctrine: http://www.doctrine-project.org/
GAS: http://gasorm-doc.taufanaditya.com/
DM: http://datamapper.wanwizard.eu/

Visa signatur

Jag hatar att vara förkyld!

Permalänk
Medlem

Jag ska själv börja med ett litet sidoprojekt för att lära mig mer om PHP och har kikat lite på Redbeans som ORM. Har inte satt in mig tillräckligt för att veta om det passar dina behov såhär på rakarm men tror det kan vara värt att kolla in. Eftersom man kan integrera med databasen med SQL-liknande metoder istället för att få hela SQL-tänket bortabstrakterat borde komplicerade joins osv. inte vara några problem. Att den genererar scheman "on the fly" verkar även intressant.

Permalänk
Medlem

Jag har aldrig använt mig av Doctrine eller DataMappers men efter att kort ha läst på om skillnaden på DataMapper och ActiveRecords så verkar det passa bättre med en ActiveRecord ORM för dig. Typ Eloquent i Laravel.

Finns det någon speciell anledning till att du väljer Codeigniter? De flesta brukar nu för tiden använda Laravel vilket jag själv kan rekommendera starkt.

Gillar Laravel för att det går snabbt att skapa hemsidor och är väldigt "utrycksfullt" med sina Facades. När jag använde Codeigniter för några år sedan ogillade hur man hela tiden behöver skriva "$this->modul->metod()" istället för bara "Modul::metod()".

Kolla in Laravels Intermediate Task List guide, den visar väldigt bra på hur man bygger en hemsida med Laravel.

Visa signatur

Programmerare -> PHP | HTML | CSS | JS | Java.

Permalänk
Medlem
Skrivet av Sony?:

Jag har aldrig använt mig av Doctrine eller DataMappers men efter att kort ha läst på om skillnaden på DataMapper och ActiveRecords så verkar det passa bättre med en ActiveRecord ORM för dig. Typ Eloquent i Laravel.

Finns det någon speciell anledning till att du väljer Codeigniter? De flesta brukar nu för tiden använda Laravel vilket jag själv kan rekommendera starkt.

Gillar Laravel för att det går snabbt att skapa hemsidor och är väldigt "utrycksfullt" med sina Facades. När jag använde Codeigniter för några år sedan ogillade hur man hela tiden behöver skriva "$this->modul->metod()" istället för bara "Modul::metod()".

Kolla in Laravels Intermediate Task List guide, den visar väldigt bra på hur man bygger en hemsida med Laravel.

Jag har också tittat på Laravel och både deras dokumentation, google och youtube säger mig att det är bra.

Dock, om min ambition är att göra detta projektet med något som jag kan för att därefter glida över mot python så känns det dumt att hoppa in i något nytt.

Visa signatur

Jag hatar att vara förkyld!

Permalänk

Kan också rekommendera Eloquent, riktigt nice att jobba med. Även Laravel är sjukt trevligt, men om du bestämt dig för CI går det att plocka ut Eloquent ur laravel och köra det helt separat. Kolla in denna t ex: https://laracasts.com/lessons/how-to-use-eloquent-outside-of-...

EDIT: Har för övrigt kört både code ignoter och Laravel, och Laravel är typ en miljard ggr bättre. Rekommenderar starkt att byta, CI känns förlegat på rätt många sätt i jämförelse.