Toon posts:

[PHP] Beginnen met OOP / Framework

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0Henk 'm!

  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Beste tweakers,

ik ben al jaren bezig met PHP i.c.m. MySQL. Ik heb het idee dat ik een beetje blijf hangen om het zo maar te noemen. Elke website weer van nul opnieuw beginnen en het idee dat het totaal verkeerd opgebouwd is of achterloop op vernieuwingen.

Heb me al meerdere keren ertoe proberen te zetten om met een framework te beginnen. Gigantisch veel informatie op het internet te vinden, maar welk framework is nou de beste keuze? Licht eraan waarvoor je het gebruik etc. En houd het alweer snel op.

Begonnen met een eigen "framework" te maken, map met de standaard dingen erin. Alvast een config.php, functions.php, index.php, een css'je klaar. Flink wat tijd in gestoken en uiteindelijk komt de gedachte weer: Waarom nou zo, het is niet eens OOP. Voor mij misschien handig maar voor een ander niet. Alles evengoed nog vrij statisch. PHP6 komt eraan, mysql gaat eruit en mysqli komt hiervoor in de plaats dus het moet dynamischer worden. Ga zo maar door.

Stel iemand kijkt mijn code in is dit totaal niet begrijpelijk. Andersom ook, als ik bijvoorbeeld de code van Wordpress doorneem wordt ik daar totaal niet wijs van.

Waar ga ik beginnen en wat is wijs om mee te beginnen?

Wat ik wil bereiken is:
- "Universele opbouw", niet alleen ik, maar ook iemand anders mijn code begrijpt en andersom
- Als er iets veranderd (bijv. mysql naar mysqli of een kleine denk fout) ik niet de hele code moeten omgooien
- De basis klaar staat, jQuery, TinyMCE, config bestand, enz
- Overzicht, heb soms 1000den regels code achtereen volgend

Met een aantal duidelijke tutorials/faq's ben ik al dik tevreden.

Alvast bedankt!

Gr. Roy

P.S. Deze vraag is al velen malen gesteld, helaas nog niet het juiste tegen gekomen waar voor mij alles in één klap duidelijk wordt, als iemand een linkje heeft naar een soortgelijk topic ook prima!

[Voor 5% gewijzigd door royduin op 20-05-2011 13:55]


Acties:
  • 0Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 30-04 00:05
Zend Framework + ISBN: 978-90-5940-446-5

Acties:
  • 0Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Nu online

alienfruit

the alien you never expected

Ik zou eens kijken naar Symfony2 als ik jou was. Gebruikt Doctrine, dependency injection etc.

Acties:
  • 0Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 13:04
Als FrameWork gebruiker (Zend, yaay :) ) vind ik Wordpress qua code ook niet echt fijn om eerlijk te zijn. Hoewel Wordpress een fijn systeem is om websites in te maken is de code zelf qua structuur imho niet 'je van het'.

Volgens mij heeft dat ook te maken dat ze pre-php 4? ondersteuning proberen te houden.

"Lambs to the cosmic slaughter!" - Morty


Acties:
  • 0Henk 'm!

  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Wil nog even vermelden dat ik geen linux pro ben o.i.d. draai gewoon op een webhosting pakket zonder SSH toegang o.i.d., heb is met Yii wat geprobeerd maar dat moest geïnstalleerd worden o.i.d :?

Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

johnkeates schreef op vrijdag 20 mei 2011 @ 13:57:
Zend Framework + ISBN: 978-90-5940-446-5
Zullen we het topic gebruiken om onderbouwd zinnige input op de vragen van TS te geven en 't niet laten verzanden in een opsomtopic waarin iedereen even een willekeurg zijn/haar framework roept? Dan kun je net zo goed volstaan met een linkje.

Modbreak:Onderbouwing is gewenst; maak er geen opsomtopic van!

[Voor 6% gewijzigd door RobIII op 20-05-2011 14:31]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 14:29
royduin schreef op vrijdag 20 mei 2011 @ 14:28:
Wil nog even vermelden dat ik geen linux pro ben o.i.d. draai gewoon op een webhosting pakket zonder SSH toegang o.i.d., heb is met Yii wat geprobeerd maar dat moest geïnstalleerd worden o.i.d :?
Niet echt geloof ik, het is wel echt gewoon PHP code, maar de installer zorgt ervoor dat je een nieuw project aanmaakt waarin de basis al klaar staat om met het framework te werken.
Zend heeft ook zo'n soort installer.

Wij zijn hier (applicatiegewijs) ook aan het overstappen van de oude systematiek, naar een framework. We gaan eerst een proef doen met Yii, dit vooral omdat hier Events standaard ondersteund worden. Kunnen wij leuke dingen mee doen.

Voor jou is het handig om te weten wat voor website je maakt en hoe ingewikkeld deze is. Wil je het simpel houden, dan zou ik Yii aanraden, omdat deze ook net wat simpeler werkt.

[Voor 28% gewijzigd door jbdeiman op 20-05-2011 15:08]


Acties:
  • 0Henk 'm!

  • Anoniem: 264884
  • Registratie: Juni 2008
  • Niet online
Ik ben zelf een groot fan van het CodeIgniter Framework. Makkelijk, snel en zeer goed gedocumenteerd.

Op deze pagina word de basis zeer goed uitgelegd: http://net.tutsplus.com/sessions/codeigniter-from-scratch/

Acties:
  • 0Henk 'm!

  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Maar is zo'n installer altijd (bij elk framework) nodig? Niet gewoon simpel weg alles uploaden en aan de gang gaan?

Zend is volgens mij het meest gebruikte en lijkt me wijs hiermee aan de gang te gaan?
Hoe zit het met ondersteuning? Stel ik ga met Yii/CodeIgniter aan de gang en loop hier tegen een probleem aan. Is hier ook goede ondersteuning?

Wat maak ik zoal? Voornamelijk vrij eenvoudige website's. CMSje, nieuwsberichten, contactformulieren etc. Maar ook grote webshops met xml koppelingen met leveranciers en een koppeling om product informatie op te halen. iDeal, facturatie (pdfje), koppelingen met bijv. Dropbox etc.

Acties:
  • 0Henk 'm!

  • Anoniem: 264884
  • Registratie: Juni 2008
  • Niet online
CodeIgniter is ook één van de grotere frameworks. Toen ik voor het eerst met Zend in aanraking kwam vond ik het een zeer onduidelijk en te groot framework. Na wat zoeken zag ik dat nettuts wat screencasts over CodeIgniter had gemaakt ben ik daar mee aan de slag gegaan.
Hun code is zeer overzichtelijk en bijna bij alles staat //comentaar

En op het forum krijg je bijna altijd antwoord op je vragen

Acties:
  • 0Henk 'm!

  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Zoals in mijn begin post aangegeven was ik enige tijd terug al snel klaar met frameworks, net als nu heb ik nog steeds geen idee met welk framework ik aan de gang moet gaan.
Stel ik ga met CodeIgniter aan de gang, dit bevalt en maak hier vrijwel overal gebruik van. Kom over paar jaar bij een bedrijf aan de gang waar ze met Zend werken, dan is het weer van nul opnieuw beginnen?
Wil namelijk echt zo "universeel" mogelijk aan de gang. Om te voorkomen dat ik over een paar jaar weer opnieuw moet beginnen.

Even iets anders. Maak momenteel gebruik van Notepad++ met gebruik van de NppFTP plugin. Erg over te spreken maar zie in de video tutorials (wel op een mac dan) andere programma's voorbij komen waar bepaalde dingen "voorgekauwd" worden. Betere alternatieven i.c.m. straks start met een framework?

[Voor 36% gewijzigd door royduin op 20-05-2011 15:45]


Acties:
  • 0Henk 'm!

  • vapoto
  • Registratie: December 2006
  • Laatst online: 03-01-2014
Het enige framework waar ik ervaring mee heb is CakePHP. Het geweldige eraan in de Bake-functie; nadat je database is opgezet kan ja via de console semi-automatisch de relaties opzetten. Na enkele commando's heb je al een werkende standaardsite waarmee je CRUD-operaties kan uitvoeren.
Het aanpassen van die code (of het beginnen van scratch) is m.i. zeer gebruiksvriendelijk.

Acties:
  • 0Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 28-05 20:17
royduin schreef op vrijdag 20 mei 2011 @ 15:40:
Zoals in mijn begin post aangegeven was ik enige tijd terug al snel klaar met frameworks, net als nu heb ik nog steeds geen idee met welk framework ik aan de gang moet gaan.
Stel ik ga met CodeIgniter aan de gang, dit bevalt en maak hier vrijwel overal gebruik van. Kom over paar jaar bij een bedrijf aan de gang waar ze met Zend werken, dan is het weer van nul opnieuw beginnen?
Dat is met alles zo. Als jij nu PHP leert en je gaat over een aantal jaar aan de gang bij een bedrijf dat alleen maar in Haskell programmeert moet je ook alles opnieuw leren (althans, de manier van aanpak).

Ik ben nu bezig met Symfony2 en moet zeggen dat het aardig lekker werkt. Alles is mooi gedocumenteerd, screencasts beschikbaar en er is support beschikbaar via IRC (indien nodig). Wat ik je wil aanraden is dat je eens aan de slag gaat met de frameworks die hier worden genoemd en kijken welke jou het beste bevalt.

[Voor 4% gewijzigd door Manuel op 20-05-2011 15:55]


Acties:
  • 0Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 14:29
royduin schreef op vrijdag 20 mei 2011 @ 15:28:
Maar is zo'n installer altijd (bij elk framework) nodig? Niet gewoon simpel weg alles uploaden en aan de gang gaan?
Zo'n installer is niet nodig, het is eigenlijk alleen bedoeld om gelijk een basis voor je neer te zetten om mee te werken. Je kan ook gewoon zelf een basis maken, adh van het framewerk. Voordeel van de installatie is dat je zonder veel werk aan de slag kan met het systeem.
Zelf een basis beginnen is lastiger, omdat je het nog niet kent. De installers zijn vooral bedoeld om het beginnen eenvoudiger te maken. Sterker nog, als je 1 maal een structuur hebt laten maken vanuit die installer kan je die altijd gebruiken (even kopietje maken en draaien maar)
royduin schreef op vrijdag 20 mei 2011 @ 15:28:
Zend is volgens mij het meest gebruikte en lijkt me wijs hiermee aan de gang te gaan?
Hoe zit het met ondersteuning? Stel ik ga met Yii/CodeIgniter aan de gang en loop hier tegen een probleem aan. Is hier ook goede ondersteuning?
Voor zend is veel (en uitgebreide) documentatie beschikbaar, voor Yii en CodeIgniter ook. De ondersteuning kan je dus op meerdere punten verwachten, maar er zijn voor Zend iig vrij veel gebruikers en het vinden van een antwoord op je vragen zal dan ook eenvoudig zijn.
royduin schreef op vrijdag 20 mei 2011 @ 15:28:
Wat maak ik zoal? Voornamelijk vrij eenvoudige website's. CMSje, nieuwsberichten, contactformulieren etc. Maar ook grote webshops met xml koppelingen met leveranciers en een koppeling om product informatie op te halen. iDeal, facturatie (pdfje), koppelingen met bijv. Dropbox etc.
Ok, voor dit soort doeleinden zijn al deze frameworks geschikt, het zijn redelijk standaard zaken die snel te realiseren zijn. Het lijkt me zaak dat je gaat kijken in documentatie van de genoemde frameworks, en of er een framework is wat er qua eenvoud bovenuit lijkt te stijgen.
royduin schreef op vrijdag 20 mei 2011 @ 15:40:
Even iets anders. Maak momenteel gebruik van Notepad++ met gebruik van de NppFTP plugin. Erg over te spreken maar zie in de video tutorials (wel op een mac dan) andere programma's voorbij komen waar bepaalde dingen "voorgekauwd" worden. Betere alternatieven i.c.m. straks start met een framework?
Als je gaat werken met een framework is het wel aan te raden een goede editor te gaan gebruiken. Inderdaad zal deze soms iets voorkauwen (eigenlijk niets anders dan de voorspelling die Google doet als je daar zoekt, om het maar ergens mee te vergelijken). Dit voorkauwen gebeurt op basis van het ingeladen framework in je project. Je hoeft dus niet zelf helemaal op zoek naar bepaalde functies, het systeem kan dit al laten zien.
Daarbij zie je bij de aanroep ook wat het systeem verwacht dat je als waarden mee gaat geven bij een goede editor, je wordt gewoon wat meer geholpen bij het schrijven van code.

Zelf ben ik wel fan van de Netbeans PHP editor, vult prima aan en werkt lekker.

[Voor 21% gewijzigd door jbdeiman op 20-05-2011 15:52]


Acties:
  • 0Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 27-05 18:58
Goed.. Laat ik eens een knuppel in het hoenderhok der frameworks gooien, maar ik zou eens kijken naar Drupal 7.

En voor iedereen begint te slaan, en mij met pek en veren overgoten uit dit topic draagt. Het is niet zo slecht als vaak gezegd wordt door 'php specialisten' Tuurlijk de perfomance is minder dan een symfony2/ZF applicatie, maar voor de meeste site's .

Voordeel is dat veel dingen al een keertje uitgevonden zijn, niet altijd van eenzelfde kwaliteit helaas.

Maar maak niet de fout, om naar Drupal 6 te kijken. Dat zit in de code best aardig in elkaar, maar een stuk minder consistent dan 7.

Oh... en Drupal is meer een content management framework, alleen de meeste mensen binnen de drupal community zijn er van overtuigd dat alles wat je doet aan inrichten te klikken moet zijn via een beheer interface. Maar dat is onzin, tuurlijk kan het wel.. Maar het hoeft NIET!

[Voor 18% gewijzigd door kwaakvaak_v2 op 20-05-2011 16:20. Reden: extra stukje]

Driving a cadillac in a fool's parade.


Acties:
  • 0Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 14:29
@Kwaakvaak,

Ik snap je punt wel, maar de vraag is expliciet voor een framework. Drupal 7 valt daar niet onder, maar het is wel een leuk systeem om snel websites mee te maken. Alleen als ik de TS goed begrijp is het niet de bedoeling om een open source CMS te gebruiken voor de website.

Ik krijg bij de vraag van de TS wel het idee dat hij weet wat hij wil, daarom neem ik automatisch aan (kan onterecht zijn) dat hij ook weet wat de verschillende opensource CMS systemen zijn.

Acties:
  • 0Henk 'm!

  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Ben idd niet opzoek naar een cms, echt naar een framework.

Is er nergens een overzicht van voor- en nadelen van de meest gebruikte frameworks?

Het liefst wil ik er wel een boek bij hebben, rustig in de tuin doorlezen en zodra de zon onder is uitproberen.
Voor Zend genoeg boeken te vinden.
CodeIgniter is inmiddels bij versie 2.0.2, boeken zijn te krijgen voor 1.7. Maakt dit veel uit?
Yii, nog geen boek voor gevonden.

Zend, CodeIgniter en Yii zijn tevens volledig OOP?

Denk dat het beginnen wordt met CodeIgniter. Lees zo links en recht veel goede berichten hierover.

Acties:
  • 0Henk 'm!

  • Melodic Metal
  • Registratie: November 2009
  • Laatst online: 21-05 12:55
Inderdaad gewoon beginnen met CodeIgniter kijk bijvoorbeeld is naar deze video tutorials uitgebreid en een grote stap in de goeie richting.

Die installers zou ik niet aan beginnen, hetzelfde kun je zelf ook wel bereiken door een zip bestandje uit te pakken bijv. CodeIgnter, Kohana en vele andere werken zonder nutteloze installers. Plug and Play zeg maar.

Acties:
  • 0Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 27-05 18:58
jbdeiman schreef op vrijdag 20 mei 2011 @ 16:22:
@Kwaakvaak,

Ik snap je punt wel, maar de vraag is expliciet voor een framework. Drupal 7 valt daar niet onder, maar het is wel een leuk systeem om snel websites mee te maken. Alleen als ik de TS goed begrijp is het niet de bedoeling om een open source CMS te gebruiken voor de website.
En dat is nu precies de misvatting die ik probeerde te ontzenuwenen. Omdat als je drupal wat beter bekijkt je zult zien dat het meer een framework is dan een CMS. Ja, uit de doos kan het een hoop dingen die een CMS ook doet, maar onderwater is het veel meer dan dat. Het is eigenlijk een volledig scaffolding achtig framework met formbuilders, authenticatie laag, listeners, triggers etc. Eigenlijk alles wat je bij een CMS bouwdoos nodig hebt. Enige wat vaak als nadeel gezien wordt is dat niet alles OO is. En dat klopt, als je kijkt naar de design patterns, zit drupal meer in de Decorators/ Observer hoek dan iets wat met de bekende Polymorphic/Inheritance structuren zoals de meeste frameworks gebruiken.

En nee, je moet het niet voor alles en een keukenblok bouwen, in willen zetten ;)

Als je iets moet maken wat puur wat data heen en weer schuift tussen twee systemen, is een framework misschien geschikter. Alhoewel 15.000 files van bijv ZendFramework voor een simpele XML -> Soap vertaler ook wat overdreven is imho. Maar als ik iets moet maken waarvan ik al kan voorspellen dat ik later dingen nog moet gaan toevoegen, en niet mijn eigen wiel constant opnieuw wil uitvinden... Mwoah.. dan zit het best goed in elkaar. Je moet het alleen wat tijd geven voor je ziet dat het stiekum best krachtig is, en afstappen van het de heilige graal dat alles te overerven moet zijn tot op moluculair nivo ;)

Maar goed.. Puur bekeken.. Nee het is geen framework, en het is ook niet het MVC zoals in dat PHP land als wereldheersende patroon wordt beschouwd. ;)

Driving a cadillac in a fool's parade.


Acties:
  • 0Henk 'm!

Anoniem: 96523

kwaakvaak_v2 schreef op vrijdag 20 mei 2011 @ 17:07:
Maar goed.. Puur bekeken.. Nee het is geen framework, en het is ook niet het MVC zoals in dat PHP land als wereldheersende patroon wordt beschouwd. ;)
Drupal (of Joomla, Wordpress, XOOP, etc) zijn inderdaad meer CMS dan framework, ook wel Content Managent Framework genoemd. Maar wat veel mensen vergeten; het CMS (of eigenlijk CMF) is ook gebouwd op een framework.

De truc is dus om gebruik te maken van het framework dat zit verborgen achter het CMS. Je bent misschien iets langer bezig om het goed onder de knie te krijgen, maar heeft uiteindelijk veel meer voordelen. Het grootste voordeel is dat je de standaard functionaliteiten (en uitbreidingen) niet zelf meer hoeft te bouwen.


Wat betreft het zelf schrijven van een framwork, om ook maar een verhitte discussie te noemen, is naar mijn mening ook geen slecht idee. Niet alleen omdat het framework dan exact doet wat je verwacht, je kent het van binnen en van buiten en is zeer goed voor je programmeer kennis.

Denk er dan wel aan dat je het niet in een avondje bouwt, maar dat het best een jaar kan duren voordat je het ook daadwerkelijk voor grote projecten kunt gebruiken.

Acties:
  • 0Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 28-05 20:52

Matis

Rubber Rocket

Interessante discussie. Ik ben ook al een tijdje op zoek naar een degelijk Framework, dat niet al te bloated is en ook inzetbaar voor kleine projecten en commercieel belang.

Ik heb naar Zend Framework gekeken. Dat is gigantisch, veel documentatie en ondersteuning, maar voor de eerste keer wel heel erg intens.
Ook CakePHP geprobeerd, maar daar was ik niet echt van gecharmeerd, ondanks de documentatie voelt het erg onvolwassen.
CodeIgniter heb ik (nog) geen ervaring mee, maar de berichten zijn idd erg veelbelovend.

Daarnaast is OOP niet automatisch de heilige graal. Ik heb ook een aantal keren OOP gebruik, zonder dat daar goede reden voor was.

[Voor 11% gewijzigd door Matis op 20-05-2011 19:49]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 16-05 09:43
Anoniem: 96523 schreef op vrijdag 20 mei 2011 @ 18:51:
[...]


Drupal (of Joomla, Wordpress, XOOP, etc) zijn inderdaad meer CMS dan framework, ook wel Content Managent Framework genoemd. Maar wat veel mensen vergeten; het CMS (of eigenlijk CMF) is ook gebouwd op een framework.

De truc is dus om gebruik te maken van het framework dat zit verborgen achter het CMS. Je bent misschien iets langer bezig om het goed onder de knie te krijgen, maar heeft uiteindelijk veel meer voordelen. Het grootste voordeel is dat je de standaard functionaliteiten (en uitbreidingen) niet zelf meer hoeft te bouwen.
Ik zou toch naar een dedicated framework kijken. Het 'framework' gedeelte van een CMS zal altijd gebouwd zijn met het CMS in het achterhoofd, terwijl een 'dedicated' framework veel breder ingesteld is.

Ik zou iig ook naar Zend Framework kijken, als er al zoiets bestaat als een standaardmanier van programmeren danwel een standaardframework in PHP, dan is dat ZF. Wordpress en een bakkes aan andere 'grote' frameworks passen allemaal hun eigen manier van programmeren toe, maar bijna geen daarvan kun je als 'clean' beschouwen. Mogelijk komt dat ook door allerlei optimalisaties die automagisch ingebouwd worden.

Acties:
  • 0Henk 'm!

  • compufreak88
  • Registratie: November 2001
  • Laatst online: 10-02 20:51
Een framework dat gerelateerd is aan CodeIgniter is Kohana. Kohana is begonnen als een fork van CI, maar is tegenwoordig een geheel zelfstandig framework.

De documentatie is niet het sterkste punt van het framework, het is daarentegen wel een heel goed te begrijpen framework, met kleine maar actieve community.

Een van de plus punten die Kohana heeft is het cascading filesystem. Dit zorgt ervoor dat je bestaande classes enorm makkelijk kan uitbreiden / aanpassen / vervangen zonder daar een bestand in het systeem zelf daarvoor aan te moeten passen.

Ook heeft het een volledige request/response abstractie waarmee je zowel interne als externe subrequests kan maken (HMVC),

En in tegenstelling tot CodeIgniter, volledig OOP geprogrammeerd. (CodeIgniter heeft pas vanaf V2 php4 ondersteuning losgelaten).

Kohana hoeft zoals eerder gezegd is niet 'geinstalleerd' worden. Het heeft wel een install.php bestand, maar dat is gewoon een simpele pagina die voornamelijk kijkt of bepaalde dingen wel goed zijn ingesteld, ik gebruik hem persoonlijk nooit. Ook is kohana niet afhankelijk van een command line interface.

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Of vanuit een andere hoek benaderd: verdiep je in OOP en Design Patterns. Dan leer je die frameworks ook beter te begrijpen en beoordelen.

On track


  • RobIII
  • Registratie: December 2001
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

WouZz schreef op zaterdag 21 mei 2011 @ 00:26:
Of vanuit een andere hoek benaderd: verdiep je in OOP en Design Patterns. Dan leer je die frameworks ook beter te begrijpen en beoordelen.
Dat is één van de betere/beste tips in dit topic. Zie het zo: hoe denk je zelf een framework te beginnen (zie topictitle) zonder ervaring te hebben met minimaal een paar andere frameworks en zodoende de zaken die je niet bevallen (of juist wel) te kennen. Je weet pas hoe je het 'beter' zou gaan doen als je weet wat de rest fout doet. Je weet pas wat je wél wil gaan doen als je van andere frameworks hebt gezien wat je daarin wél bevalt. Je kunt pas iets op waarde schatten als je weet waar je het over hebt. Heb je nog nooit met een framework gewerkt dan is 't ergste wat je kunt doen een eigen framework beginnen. Behalve dat je het wiel opnieuw uitvindt zul je jezelf waarschijnlijk een heleboel zaken aanleren die er vervolgens (als je, zoals je zelf zegt, ergens (anders) in dienst gaat) met veel pijn en moeite weer uit gemept zullen moeten worden.

Los van dat alles: pas op voor het NIH syndroom! Zonder natuurlijk met 100% zekerheid deze uitspraak te kunnen doen: wat geeft je de illusie dat jij in je uppie(?) uiteindelijk (zonder je core-business, websites opleveren en centjes verdienen, uit het oog te verliezen) een beter framework zou kunnen produceren dan de legio andere frameworks die door duizenden gebruikt (lees: getest, gebugfixed, doorontwikkeld, feedback etc.) worden en nog overeind zijn blijven staan naast de vele ontelbare frameworks die nooit het daglicht zien of enkel binnen een enkele organisatie gebruikt worden? ;)

Maar dit alles is, ook al klinkt 't zo, niet ontmoedigend bedoeld; zie het eerder als een spiegel die je voorgehouden wordt met de beste intenties :) :>

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Inmiddels een start gemaakt met de video tutorials van CodeIgniter. Eerst hier maar eens mee aan de gang. Zodra dit bekend is kan ik altijd nog door naar Kohana of een ander framework. Dit zal nog wel even duren voordat ik het volledig onder de knie heb.

  • erwin85
  • Registratie: Juli 2002
  • Laatst online: 25-05 12:59
Vorig jaar ben ik begonnen met het leren van een OOP Framework. Toen kwam ook de keuze wordt het Zend, Cake of CodeIgniter. Meerdere klasgenoten hebben mij CodeIgniter aangeraden. Waarom? Het is vrij makkelijk op te zetten. Wanneer je nog geen tot weinig kennis hebt van OOP is CodeIgniter denk ik het makkelijkste om mee te beginnen. Er hoeft niets via de commandprompt geinstaleerd worden. Je zet alles op de server past paar php bestanden en je kan beginnen.

Andere Frameworks heb ik niet geprobeerd, dus kan niet zeggen of die beter zijn maar CodeIgniter is lichtgewicht, weinig poespas en overzichtelijk geschreven.

  • X_lawl_X
  • Registratie: September 2009
  • Laatst online: 28-05 15:36
CodeIgniter is een prettig framework wat betreft de documentatie, alleen ik vindt het zelf onprettig dat het, ondanks dat PHP-4 is losgelaten, het toch PHP4 achtig aanvoelt. (Niet autoloaden van helpers / models / etc. Ook maken ze geen gebruik van de access keywords voor class methods)

  • hostname
  • Registratie: April 2009
  • Laatst online: 21-05 23:12
royduin schreef op vrijdag 20 mei 2011 @ 13:52:
... PHP6 komt eraan, mysql gaat eruit en mysqli komt hiervoor in de plaats dus het moet dynamischer worden. ...
Even buiten de huidige discussie om, maar dit is een fout die ik steeds weer tegenkom: PHP6 is gecanceled. De developers zijn nu bezig met PHP 5.4. Verder zijn er helemaal geen plannen om mysql eruit te gooien, hoewel er geen nieuwe features meer aan toegevoegd gaan worden. Uiteraard zijn er wel zat redenen om voor PDO of mysqli te kiezen ipv mysql.

  • erwin85
  • Registratie: Juli 2002
  • Laatst online: 25-05 12:59
X_lawl_X schreef op zaterdag 21 mei 2011 @ 13:26:
CodeIgniter is een prettig framework wat betreft de documentatie, alleen ik vindt het zelf onprettig dat het, ondanks dat PHP-4 is losgelaten, het toch PHP4 achtig aanvoelt. (Niet autoloaden van helpers / models / etc. Ook maken ze geen gebruik van de access keywords voor class methods)
autoload is wel mogelijk binnen CodeIgniter. Verschillende helpers kunnen aangezet worden. Zie http://codeigniter.com/user_guide/general/helpers.html bij het kopje Auto-loading helpers.

[Voor 8% gewijzigd door erwin85 op 21-05-2011 16:10]


  • Reboot
  • Registratie: Januari 2009
  • Laatst online: 13-04 12:27
Ikzelf heb een maand of 5 geleden ook nagedacht over welk framework.
Zelf gekozen voor zend framework. Waarom? Geen idee.

Het is klaar voor de toekomst (cloud), heeft een mooie IDE (zend studio), Ready to start software(Zend server CE) en heel uitgebreid gedocumenteerd.

Met behulp van een boek had ik het framework na een maandje al degelijk onder de knie. (zelf een volledig CMS mee geschreven).

Is een aanrader. Maar denk op deze manier. Kies een framework en blijf dit gebruiken

  • X_lawl_X
  • Registratie: September 2009
  • Laatst online: 28-05 15:36
erwin85 schreef op zaterdag 21 mei 2011 @ 16:08:
[...]

autoload is wel mogelijk binnen CodeIgniter. Verschillende helpers kunnen aangezet worden. Zie http://codeigniter.com/user_guide/general/helpers.html bij het kopje Auto-loading helpers.
Dat is niet echt wat ik bedoel. Als je daar een helper aan toe voegt zal het altijd geladen worden, ook al is het niet nodig. Het zou gewoon moeten zijn dat als je bijvoorbeeld Url::makeURL(); aanroept, de URL helper automatisch wordt geladen.

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 27-05 18:58
Maar kohana is toch het verder door ontwikkelde zusje van codeigniter? Waarom dan een framework gebruiken wat tot niet zo lang geleden php4 nog ondersteunde? Als je dan toch moet gaan leren pak dan iets wat op de toekomst gericht is en niet een framework wat nu eigenlijk outdated is.

Oh en behalve drupal7 ben ik zelf redelijk gecharmeerd van symfony2. Het is php 5.3, netjes met autoloaders, goede template engine, Twig. Doctrine2 als DB Laag, volledig transparant kunnen wisselen tussen mySQL en bijvoorbeeld mongo.

Driving a cadillac in a fool's parade.


  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Pff, ik weet het echt nog steeds niet! Wil het in één keer goed doen. Wat te doen?!? Nog nooit in OOP geprogrammeerd en nog nooit met een echt framework gewerkt.

Inmiddels met CodeIgniter wat aan de gang gegaan, echt wennen als je jaren alles achter elkaar neer gegooid hebt. Begin inmiddels wel het voordeel van een framework te zien.

Beter Kohana dan CodeIgniter dus. Zijn hier ook video tutorials van te vinden? Echt vanaf nul? (ik ben ze nog niet tegen gekomen)

Symfony2, jammer ik hier alweer "dos schermpjes", alleen dan op een mac, voorbij zie komen. Heb video'tje gezien van de admin generator, dit ziet er super uit. Zit dit ook in Kohana?

Kohana vs CodeIgniter?

Zo links en rechts is het alleen maar: ligt eraan wat je ermee wil gaan doen. Is er geen overzicht van wat er mogelijk is? Dan weet ik of ik dat wil gaan gebruiken. Heb nog geen idee van de mogelijkheden van een framework namelijk.

  • Cubic X
  • Registratie: Augustus 2006
  • Laatst online: 26-05 19:51
royduin schreef op zaterdag 21 mei 2011 @ 20:26:
Pff, ik weet het echt nog steeds niet! Wil het in één keer goed doen. Wat te doen?!? Nog nooit in OOP geprogrammeerd en nog nooit met een echt framework gewerkt.

Inmiddels met CodeIgniter wat aan de gang gegaan, echt wennen als je jaren alles achter elkaar neer gegooid hebt. Begin inmiddels wel het voordeel van een framework te zien.

Beter Kohana dan CodeIgniter dus. Zijn hier ook video tutorials van te vinden? Echt vanaf nul? (ik ben ze nog niet tegen gekomen)

Symfony2, jammer ik hier alweer "dos schermpjes", alleen dan op een mac, voorbij zie komen. Heb video'tje gezien van de admin generator, dit ziet er super uit. Zit dit ook in Kohana?

Kohana vs CodeIgniter?

Zo links en rechts is het alleen maar: ligt eraan wat je ermee wil gaan doen. Is er geen overzicht van wat er mogelijk is? Dan weet ik of ik dat wil gaan gebruiken. Heb nog geen idee van de mogelijkheden van een framework namelijk.
Je kan het niet in één keer goed doen, programmeren leren je met vallen en opstaan (trail-and-error). Gewoon doorzetten en oefenen, oefenen en oefenen. Misschien eerst in OO verdiepen? Dan heb je die basis in ieder geval duidelijk :) .

  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
We gaan gewoon verder met CodeIgniter, makkelijkste om mee te beginnen (denk ik?).

  • YopY
  • Registratie: September 2003
  • Laatst online: 16-05 09:43
Pff, ik weet het echt nog steeds niet! Wil het in één keer goed doen. Wat te doen?!
Gewoon beginnen, anders kom je nooit verder, :p. Als je halverwege het leren van een framework (of over 5 jaar, w/e) ineens denkt 'Goh, dit kan veel beter om die-en-die redenen' en ermee kapt heb je al wel het inzicht verkregen om zoiets in te zien.

Met alleen maar successen leer je niks. Gewoon lekker op je bek gaan, doelloze software schrijven die uiteindelijk al blijkt te bestaan of gewoon slecht is, en ook aan jezelf toegeven dat het niks is (en doorhebben waarom).

En dan gewoon weer opnieuw beginnen.

Design patterns leren is sowieso een goed idee, die kun je vlot in kleine PHP scriptjes in elkaar prutsen, heb je ook gelijk een begrip van hoe OOP werkt en hoe je het toe kunt passen. D'r zijn meerdere boeken en artikelen op het internet over te vinden.

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 27-05 18:58
Tja die terminal schermpjes kunnen handig zijn om wat scaffold dingen te doen, maar zijn niet noodzakelijk. Maar denk dat je beter eerst maar eens wat werk van ene Martin Fowler moet gaan lezen en leren. Een framework is een toolkit, geen heilige gaal, en de basis van alles is, weten wat je aan het doen bent, en waarom dingen gaan zoals ze gaan. Zolang dat kwartje niet gevallen is, blijft elk framework, met of zonder dos schermpjes een magische zwarte doos voor je ;)

Driving a cadillac in a fool's parade.


  • Matis
  • Registratie: Januari 2007
  • Laatst online: 28-05 20:52

Matis

Rubber Rocket

royduin schreef op zaterdag 21 mei 2011 @ 21:35:
We gaan gewoon verder met CodeIgniter, makkelijkste om mee te beginnen (denk ik?).
Ik ben ook gisteren (mede naar aanleiding van dit draadje) begonnen met de tutorials van CI.

Het werkt wel zo eenvoudig, dat je binnen een dag al kunt zeggen dat je het gevoel hebt dat je de kneepjes kent.
Nu is dat natuurlijk niet het geval, maar de leercurve van CI is erg stijl.
Jammer is wel, dat een aantal tutorials gebaseerd zijn op de 1.7-versie van CI, terwijl de laatste versie 2.0.2 (oid) is. Daardoor zijn er wat onderdelen gedateerd.
Zo moet een control-class niet Controller extenden, maar CI_Controller en werkt de aanroep van parent::CI_Controller() niet meer, maar moet je parent::__constructor() aanroepen (althans, in mijn geval).

Ik vind het een prettig framework en denk het ook in kleine projectjes te gaan gebruiken :)

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0Henk 'm!

  • thioz
  • Registratie: September 2001
  • Laatst online: 06-11-2018
Ik blijf het zeggen bij iedere 'discussie' die over de keuze van een framework gaat.

Probeer er een aantal, gewoon local op je XAMMP/WAMMP servertje, speel er eens mee, bekijk de source-code en kijk wat het beste bij je past. Ik geloof dat het nog steeds een beetje een kwestie van smaak en feel is.

Ieder framework is in staat hetzelfde eindresultaat te leveren, maar hebben allemaal een net iets andere manier van werken en een andere codingstyle etc.

I feel like i've been taking crazy pills


Acties:
  • 0Henk 'm!

  • royduin
  • Registratie: November 2007
  • Laatst online: 27-05 20:38
Inmiddels heel wat tutorials gevolgd van Nettuts. Dat ik begon zag ik de voordelen niet maar inmiddels ben ik blij dat ik hieraan ben begonnen. Bijv. Day 7: Pagination. Dat is toch wel makkelijk! In het verleden was dit af en toe flink stoeien.
We gaan weer door naar de volgende tutorial! :D

  • osorkon!
  • Registratie: September 2006
  • Laatst online: 25-05 08:19
Ondertussen ook wat aan het experimenteren met frameworks.
Heb onlangs gelezen over de structuren van frameworks (Zend, Symfony, ...) en hoe die omgaan met database - data interactie. daarbij las ik om je MVC framework te scheiden van je database met een API.
De api is dan verantwoordelijk om de data op te halen uit een database of andere bronnen Zo kan je ervoor zorgen dat je site en bv een mobiele app dezelfde api kunnen aanspreken.

Heeft iemand een concreet voorbeeld hiervoor, of iemand die gebruikt maakt van deze werkwijze?
In welk formaat zou je dan je data aanbieden in je API?
En hoe vang je dit dan op in je MVC, wie is er dan verantwoordelijke voor je API aan te spreken, de controller of de model?

Anoniem: 96523

@osorkon!

Wanneer je een "API systeem" maakt adhv een MVC structuur, dan is de Controller (IMHO) verantwoordelijk. Deze zorgt namelijk dat de data op de juiste manier wordt opgehaald (uit de Model), verwerkt en doorgestuurd naar de View.

Je krijgt dus 2 verschillende Views, namelijk één voor "normaal" verkeer en één voor je API. De Controller kijkt dus wie het aanroept (browser call of API call) en geeft dan de juiste View terug.
Je kan het ook oplossen door een API Controller te maken, die de data dan zelf ophaalt uit andere Controllers. Of zelfs een fysiek losse app maken voor de API calls, maar alleen de database (Model) delen.

Twitter (als voorbeeld) is eigenlijk één grote API (dmv REST) die afhankelijk van het soort request (GET, POST, PUT) en de URI de juiste View teruggeeft (HTML, JSON, XML, etc).


Het grootste probleem is dat niet alle frameworks dezelfde MVC structuur gebruiken en ook developers zijn het hier niet over eens.

Persoonlijk is de Model hetzelfde als de database (dus geen losse classes), de Controller haalt data uit de database, verwerkt deze en stuurt alles naar de Views, terwijl de Views gewoonweg HTML bestanden zijn (zonder PHP meuk).

  • osorkon!
  • Registratie: September 2006
  • Laatst online: 25-05 08:19
Als je de API als losse applicatie zou beschouwen (wat mij het meest uitbreidbaar lijkt naar bv mobiele apps of andere websites die dezelfde gegevens willen raadplegen), dan zit je wel met het probleem dat je de data die je terugkrijgt van je API call (bv in JSON formaat) in je controller terug moet omzetten naar PHP code om te verwerken en dan terug gaat omzetten naar HTML formaat om dan in je view dan te tonen. Of is die omzetting verwaarloosbaar?

Zijn er PHP projecten die deze methode volgen die ik zou kunnen bestuderen? Want Twitter doet zen API calls rechtstreeks vanuit javascript.

Als iemand andere ideeën heeft, ik zoek naar een manier om zo schaalbaar mogelijk te kunnen programmeren (bv website X en mobiele app Y vragen dezelfde lijst data uit een zelfde online database)
Anoniem: 96523 schreef op woensdag 25 mei 2011 @ 12:04:
Persoonlijk is de Model hetzelfde als de database (dus geen losse classes), de Controller haalt data uit de database, verwerkt deze en stuurt alles naar de Views, terwijl de Views gewoonweg HTML bestanden zijn (zonder PHP meuk).
Vind je dan niet dat je teveel logica aan je Controller geeft, een controller moet in mijn ogen delegeren en de Models moeten het werk opknappen.

[Voor 25% gewijzigd door osorkon! op 25-05-2011 14:34]


  • Wizz15
  • Registratie: Januari 2004
  • Laatst online: 26-10-2022
osorkon! schreef op woensdag 25 mei 2011 @ 13:29:
Als je de API als losse applicatie zou beschouwen (wat mij het meest uitbreidbaar lijkt naar bv mobiele apps of andere websites die dezelfde gegevens willen raadplegen), dan zit je wel met het probleem dat je de data die je terugkrijgt van je API call (bv in JSON formaat) in je controller terug moet omzetten naar PHP code om te verwerken en dan terug gaat omzetten naar HTML formaat om dan in je view dan te tonen. Of is die omzetting verwaarloosbaar?

Zijn er PHP projecten die deze methode volgen die ik zou kunnen bestuderen? Want Twitter doet zen API calls rechtstreeks vanuit javascript.

Als iemand andere ideeën heeft, ik zoek naar een manier om zo schaalbaar mogelijk te kunnen programmeren (bv website X en mobiele app Y vragen dezelfde lijst data uit een zelfde online database)


[...]


Vind je dan niet dat je teveel logica aan je Controller geeft, een controller moet in mijn ogen delegeren en de Models moeten het werk opknappen.
Zeker bij controllers die meerdere soorten output genereren (html, json, xml) is het verstandig om 'Fat models, skinny controllers' te hanteren. Laat de model lekker alle logica regelen, de controller zorgt daarna wel dat de juiste view gebruikt wordt. Werk aan een groot project met Zend Framework, en hierbij hebben we dat principe niet altijd consequent doorgevoerd, waardoor we nu op veel plekken onze controllers bloated zijn. Dat kan ik niemand aanraden ;)

Valt me verder op dat symfony2 nog niet genoemd is hier. Stukje lichter dan Zend Framework en maakt volledig gebruik van de OO mogelijkheden van PHP 5.3 (namespaces etc). Naar mijn mening ook een stukje flexibeler aangezien je zelf kan kiezen hoe je je project 'bootstrapped'. De caching schijnt ook erg goed te zijn out-of-the-box :)

PSN: RikBruil | BFBC2 stats


  • osorkon!
  • Registratie: September 2006
  • Laatst online: 25-05 08:19
Wizz15 schreef op woensdag 25 mei 2011 @ 18:56:
[...]
Valt me verder op dat symfony2 nog niet genoemd is hier. Stukje lichter dan Zend Framework en maakt volledig gebruik van de OO mogelijkheden van PHP 5.3 (namespaces etc). Naar mijn mening ook een stukje flexibeler aangezien je zelf kan kiezen hoe je je project 'bootstrapped'. De caching schijnt ook erg goed te zijn out-of-the-box :)
Is die niet in Beta nog? :)

Zijn er eigenlijk projecten die openbaar te bekijken zijn om de structuren eens te zien in een werkend voorbeeld?
Bv onze eigen tweakers.net website?

[Voor 13% gewijzigd door osorkon! op 25-05-2011 22:48]


  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 25-05 00:16

Kajel

Development in Style

Symfony2 is inderdaad nog in beta, en is overigens al meerdere keren in dit topic genoemd ;)

TS: Je verkondigt steeds het in "een keer goed te willen doen". Ik kan je nu alvast uit die droom helpen: Dat gaat niet lukken, tenminste, als jij met "in een keer goed willen doen" bedoelt dat je al je bases gecovered wilt hebben, en een pasklare oplossing wil hebben voor al je toekomstige projecten en aanstellingen als webdeveloper bij een bedrijf :)
Je moet gewoon een framework kiezen, dat op het eerste gezicht aan een paar eisen voldoet:
  • Documentatie die jou duidelijk aanspreekt. Dus jij moet het zelf prettig vinden werken, en dan met name de tutorials, getting started etc.
  • Ga ook een beetje af op de grootte van de community. Want daar zul je vaak gaan aankloppen voor vragen
  • Ga een beetje af op de reputatie en naamsbekendheid.
Als je die richtlijnen volgt, is elk framework, dat daaraan voldoet in principe geschikt. Bijv.:Symfony, Zend, CodeIgniter, Kohana, en wat mij betreft ook CakePHP (al ben ik er persoonlijk geen fan van)
Kies dus een framework en ga ermee aan de slag (al geloof ik dat je al met CodeIgniter aan de slag bent gegaan, dus je bent in ieder geval aan de gang gegaan d:)b )

Ik zeg dit, omdat het in the end niet uitmaakt! Je leert het framework van keuze niet, om het vervolgens de rest van je leven te gebruiken. Jij zoekt naar de heilige graal/een one-time investment, wellicht met het idee dat je, als je de "verkeerde keuze" maakt, het een verloren tijdsinvestering is geweest, maar dat is niet zo.
Want wat je eigenlijk leert bij al deze frameworks, is een mindset, een manier van werken, en de al vaker genoemde design patterns. Deze kennis stelt je in staat om een ander framework vervolgens veel sneller en makkelijker op te kunnen pikken.
Voorbeeldje: Veel PHP frameworks zijn gebaseerd op het Model-View-Controller principe. Het scheiden van de database-logic (model), de application/business logic, de layout (view) etc. Als je dat principe middels een framework eenmaal onder de knie hebt, zul je diezelfde structuur in een ander framework ook een stuk makkelijker en sneller herkennen, waardoor dat andere framework een stuk makkelijker wordt om te leren :)

Het is dus nooit een verloren tijdsinvestering om een goed framework te leren!

Nog even mijn persoonlijke voorkeur: Symfony! Ik ben zelf begonnen in Symfony1.4 omdat het bedrijf waarvoor ik werk, een heel uitgebreid CMS heeft gebakken daarin. Om het onder de knie te krijgen, bieden ze een ontzettend heldere en toffe tutorial reeks aan waarbij je from scratch een volledig "Job Board"/vacaturesite opzet. Hierbij wordt ook aandacht besteed aan dingen die bij andere tutorials (ten onrechte) aan de lezer zelf worden overgelaten, zoals het schrijven van goede unit- en functional tests, het goed securen van je applicatie etc. De tutorial is opgedeeld in 24 blokken (dagen) van elk 1 uur. Dus na een weekje (als je meerdere "dagen" van 1 uur, per dag doet) kun je er wel doorheen zijn. Soms wordt aan het eind van een dag, als de tutorial minder dan een uur duurde, ook een opdracht gegeven, en geven ze de volgende dag hun uitwerking :)
Symfony2 is nog in beta, en ik ben er om die reden nog niet aan begonnen. Ook omdat tot voor kort er nog geen officiele admin generator bestond voor Symfony2, en ik dat juist een van de toffere onderdelen vind. Overigens wordt Symfony1.4 nog officieel tot eind 2012 ondersteund, dus het is de investering zeker waard, ook in het kader van mijn bovenstaand verhaal!

  • YopY
  • Registratie: September 2003
  • Laatst online: 16-05 09:43
osorkon! schreef op woensdag 25 mei 2011 @ 21:21:
[...]


Is die niet in Beta nog? :)

Zijn er eigenlijk projecten die openbaar te bekijken zijn om de structuren eens te zien in een werkend voorbeeld?
Bv onze eigen tweakers.net website?
Tweakers.net z'n source code is vzviw closed-source, mogelijk (als ik het me goed herinner) gebaseerd op een CMS. Het forum is gebaseerd op React, een (volgens mij) niet al te bekend stuk forumsoftware dat een paar jaar geleden geforked is door T.net.

Volgens mij - maar pin me hier niet op vast - is de code van T.net niet eens MVC. Sowieso niet gebaseerd op een of ander framework - T.net stamt nog uit de tijd van voor PHP frameworks, :p.

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 27-05 18:58
MVC is ook geen heilige graal als het om frameworks gaat. Een goede set met classes en function includes kan ook heel goed een framework zijn ;)

Driving a cadillac in a fool's parade.


Anoniem: 77516

kwaakvaak_v2 schreef op donderdag 02 juni 2011 @ 00:16:
MVC is ook geen heilige graal als het om frameworks gaat. Een goede set met classes en function includes kan ook heel goed een framework zijn ;)
Ook mee eens. Applicatie niet ontwikkeld volgens het MVC model kan ook gewoon bestaan uit duidelijke code. MVC is puur alleen een mooie code richtlijn die werelwijd door vele software ontwikkelaars gebruikt word.

Als ik de TS was, zou ik eerst aan de slag gaan met CodeIgniter, niet omdat het een super framework is maar wel vrij simpel van opzet. Het is vrij eenvoudig om dat onder de knie te krijgen.

Wanneer je hier wat meer bekent mee bent kun je altijd over coden naar Zend Framework of daar onderdelen van gebruiken. Ik zelf kies met name voor Zend Framework omdat het open source is (off-course) en er toch een commercieel bedrijf achter zit, niet dat dit altijd positief uitpakt maar dit geeft veel garantie voor de continuïteit van dit framework. De kans is erg groot dat er veel door ontwikkeld zal blijven en ook oudere versies beter onderhouden worden. Bovendien worden er inderdaad zoals in voorgaande posts vermeld interresante tools ontwikkeld om het allemaal nog makkelijker te maken.

Acties:
  • 0Henk 'm!

  • RutgerM
  • Registratie: Juli 2005
  • Laatst online: 09-12-2018

RutgerM

exec(rm -rf /*);

Deze discussie blijft een prachtig voorbeeld van; het beste bestaat gewoon niet.

Voor een volledig nieuwe applicatie zijn wij ons ook aan het oriënteren voor een "nieuw" framework. Zend zou eigenlijk de basis zijn omdat dit een goede standaard is en veel programmeurs hier op in kunnen pluggen. Aan de andere kant zit je met performance zaken waarbij je waarschijnlijk Zend Server (betaald) moet gaan draaien als het echt serieus gaat worden.

Yii lijkt mij een prima alternatief, beter dan CI omdat het frisser is.

Ci heeft overigens wel zijn gedegen userbase.

Zend programmeurs zijn alleen weer makkelijker te krijgen, dus hier hebben we nog wel even een kluif aan.

Liever een Kakker in een Asobak dan een Stakker in een Patserbak :D


Acties:
  • 0Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 13:04
Zend Server is gewoon een WAMP installatie met net wat andere instellingen, niet iets wat je zelf niet op kan zetten. Zelf ben ik ondertussen aan het spelen met lithium en vind dat best fijn werken. Kom van Zend.

Zend kan veel meer out of the box, maar binnen lithium kan je de Zend Componenten gewoon gebruiken als je wilt.

"Lambs to the cosmic slaughter!" - Morty


Acties:
  • 0Henk 'm!

  • RutgerM
  • Registratie: Juli 2005
  • Laatst online: 09-12-2018

RutgerM

exec(rm -rf /*);

ZpAz schreef op maandag 04 juni 2012 @ 13:12:
Zend Server is gewoon een WAMP installatie met net wat andere instellingen, niet iets wat je zelf niet op kan zetten. Zelf ben ik ondertussen aan het spelen met lithium en vind dat best fijn werken. Kom van Zend.
OK, dus Zend blijft wel bruikbaar zonder tools ? Ik ben er van overtuigd dat Zend opzich de beste basis zal moeten zijn omdat zij PHP ontwikkelen en support er altijd is.
Zend kan veel meer out of the box, maar binnen lithium kan je de Zend Componenten gewoon gebruiken als je wilt.
Dit is wel erg prettig lijkt me. Zend van zichzelf vind ik vrij zwaar en zaken die je niet gebruikt moet je mijden.

Ik denk een positief punt, zeker dat een Zend programmeur hier direct mee overweg kan.


Daarbij is het wel zo dat het Yii framework een stuk cleaner lijkt, ook qua manier van coden.

[Voor 5% gewijzigd door RutgerM op 04-06-2012 13:51]

Liever een Kakker in een Asobak dan een Stakker in een Patserbak :D


Acties:
  • 0Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
RutgerM schreef op maandag 04 juni 2012 @ 13:50:
[...]

OK, dus Zend blijft wel bruikbaar zonder tools ? Ik ben er van overtuigd dat Zend opzich de beste basis zal moeten zijn omdat zij PHP ontwikkelen en support er altijd is.
Zend is een bedrijf die php tools maakt: http://zend.com. Zend maakt onder andere Zend Server, een getunede LAMP stack. Ze maken ook een framework, het Zend Framework. Ze maken veel dingen en doen daarnaast nog zaken in consultancy, maar Zend is niet een framework, maar een bedrijf :)
[...]

Dit is wel erg prettig lijkt me. Zend van zichzelf vind ik vrij zwaar en zaken die je niet gebruikt moet je mijden.

Ik denk een positief punt, zeker dat een Zend programmeur hier direct mee overweg kan.
Het Zend Framework is een componenten-gebaseerd framework. Je kan de zaken eruit pakken die je wilt, de rest laat je liggen. Je kan de complete source downloaden en een gedeelte niet gebruiken: dat is geen performance hit, het kost alleen wat meer opslag op je harde schijf. Als opslag echt een probleem is, kan je ook een selectie maken van componenten en alleen die gebruiken.

Verder is ZF wel sterk verouderd. Het is erg geod bruikbaar voor stabiele applicaties, maar ondertussen wordt er hard gewerkt aan versie 2 (http://framework.zend.com/zf2) die veel meer snelheid en modulariteit meebrengt. Wil je niet wachten op zf2 (die grote gelijkenissen vertoont met zf1). Kan je ook naar Symfony 2 kijken. Die is ook vernieuwd sinds Symfony 1 en daarvan is de ontwikkeling wat eerder begonnen. Symfony 2 is ook al uit de beta, terwijl zf2 nog bij beta4 is.

[Voor 16% gewijzigd door mithras op 04-06-2012 13:56]


Acties:
  • 0Henk 'm!

  • RutgerM
  • Registratie: Juli 2005
  • Laatst online: 09-12-2018

RutgerM

exec(rm -rf /*);

mithras schreef op maandag 04 juni 2012 @ 13:54:
[...]
Zend is een bedrijf die php tools maakt: http://zend.com. Zend maakt onder andere Zend Server, een getunede LAMP stack. Ze maken ook een framework, het Zend Framework. Ze maken veel dingen en doen daarnaast nog zaken in consultancy, maar Zend is niet een framework, maar een bedrijf :)
Dat is bekend, maar ik mag aannemen dat mensen in dit topic redelijk snappen waar we op doelen met Zend (scheelt typen) en niet bij de hand hoeven nemen.

De vraag is of die Zend Server echt iets kan wat je zelf niet kan... het lijkt me dat er modules gebruikt kunnen/zullen worden om hun eigen framework beter te laten performen. Dat is namelijk een POS.
[...]
Het Zend Framework is een componenten-gebaseerd framework. Je kan de zaken eruit pakken die je wilt, de rest laat je liggen. Je kan de complete source downloaden en een gedeelte niet gebruiken: dat is geen performance hit, het kost alleen wat meer opslag op je harde schijf. Als opslag echt een probleem is, kan je ook een selectie maken van componenten en alleen die gebruiken.

Verder is ZF wel sterk verouderd. Het is erg geod bruikbaar voor stabiele applicaties, maar ondertussen wordt er hard gewerkt aan versie 2 (http://framework.zend.com/zf2) die veel meer snelheid en modulariteit meebrengt. Wil je niet wachten op zf2 (die grote gelijkenissen vertoont met zf1). Kan je ook naar Symfony 2 kijken. Die is ook vernieuwd sinds Symfony 1 en daarvan is de ontwikkeling wat eerder begonnen. Symfony 2 is ook al uit de beta, terwijl zf2 nog bij beta4 is.
Fijn dat je dit even meldt, ik heb namelijk op de zijlijn gekeken naar Symfony 2, is deze nu echt uit beta dan ?

ZF is redelijk oud en log naar mijn gevoel, dus daar zit ik ook tegen aan te hikken. Het lijkt echter dat als je Symfony 2 gebruikt je code van S1 echt volledig herschreven moet worden. Ik vraag me dus af hoe Zend hiermee om gaat.

Dat is dezelfde reden waarom ik niet snel voor drupal zal kiezen... je gehele applicatie herschrijven is gewoon ruk.

Liever een Kakker in een Asobak dan een Stakker in een Patserbak :D


Acties:
  • 0Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
RutgerM schreef op maandag 04 juni 2012 @ 14:00:
[...]


Dat is bekend, maar ik mag aannemen dat mensen in dit topic redelijk snappen waar we op doelen met Zend (scheelt typen) en niet bij de hand hoeven nemen.

De vraag is of die Zend Server echt iets kan wat je zelf niet kan... het lijkt me dat er modules gebruikt kunnen/zullen worden om hun eigen framework beter te laten performen. Dat is namelijk een POS.
Dan zou ik het altijd nog afkorten als ZF en niet als Zend. Een Bayerische Motoren Werke noemen we ook geen Bayerische ;) Maar goed, ik zal niet te moeilijk doen.

POS is niet zozeer dat de applicatie wel/niet wil draaien. Bij Zend Server CE (community edition, gratis verkrijgbaar) is controle van de server geregeld via een dashboard. Installatie en configuratie is ook makkelijker omdat je 1 package moet installeren. De betaalde versie heeft applicatie deployment, goede monitoring en reporting en leuke integratie met Zend Studio, een omgebouwde IDE op basis van Eclipse.
[...]


Fijn dat je dit even meldt, ik heb namelijk op de zijlijn gekeken naar Symfony 2, is deze nu echt uit beta dan ?

ZF is redelijk oud en log naar mijn gevoel, dus daar zit ik ook tegen aan te hikken. Het lijkt echter dat als je Symfony 2 gebruikt je code van S1 echt volledig herschreven moet worden. Ik vraag me dus af hoe Zend hiermee om gaat.

Dat is dezelfde reden waarom ik niet snel voor drupal zal kiezen... je gehele applicatie herschrijven is gewoon ruk.
Bij Symfony hebben ze inderdaad alles over de kop gegooid, waardoor alles anders moet. Bij ZF2 blijft de opzet van controllers/actions met de bijbehorende routing. De MVC stack is vernieuwd, maar er is een aparte ZF1 module uitgebracht die de hoogst mogelijke compatibiliteit moet geven aan oude ZF1 modules. Dit maakt het omschrijven een heel stuk eenvoudiger.

Grote kans dat de module (die tijdens beta1 werd gemaakt) nu niet meer werkt door alle veranderingen die nu hebben plaatsgevonden. Maar bij het uitkomen van een stable verwacht ik wel dat de module verder wordt geupdate zodat overschakelen erg makkelijk wordt.

Acties:
  • 0Henk 'm!

  • RutgerM
  • Registratie: Juli 2005
  • Laatst online: 09-12-2018

RutgerM

exec(rm -rf /*);

mithras schreef op maandag 04 juni 2012 @ 14:07:
[...]
Dan zou ik het altijd nog afkorten als ZF en niet als Zend. Een Bayerische Motoren Werke noemen we ook geen Bayerische ;) Maar goed, ik zal niet te moeilijk doen.

POS is niet zozeer dat de applicatie wel/niet wil draaien. Bij Zend Server CE (community edition, gratis verkrijgbaar) is controle van de server geregeld via een dashboard. Installatie en configuratie is ook makkelijker omdat je 1 package moet installeren. De betaalde versie heeft applicatie deployment, goede monitoring en reporting en leuke integratie met Zend Studio, een omgebouwde IDE op basis van Eclipse.
Klinkt op zich allemaal goed. Er zullen vanuit de community ongetwijfeld tools zijn die hetzelfde doen.

Reporting en Monitoring kan altijd goed zijn natuurlijk !
[...]
Bij Symfony hebben ze inderdaad alles over de kop gegooid, waardoor alles anders moet. Bij ZF2 blijft de opzet van controllers/actions met de bijbehorende routing. De MVC stack is vernieuwd, maar er is een aparte ZF1 module uitgebracht die de hoogst mogelijke compatibiliteit moet geven aan oude ZF1 modules. Dit maakt het omschrijven een heel stuk eenvoudiger.

Grote kans dat de module (die tijdens beta1 werd gemaakt) nu niet meer werkt door alle veranderingen die nu hebben plaatsgevonden. Maar bij het uitkomen van een stable verwacht ik wel dat de module verder wordt geupdate zodat overschakelen erg makkelijk wordt.
Dit is wel prettig van een dergelijke framework. Ik ben me hier dusdanig van bewust dat dit een reden zou zijn om juist voor ZF te kiezen dan een ander framework waar dat mijn inziens weer kan gebeuren. Zend is een bedrijf en die kunnen zich dergelijke rewrites niet veroorloven.

Liever een Kakker in een Asobak dan een Stakker in een Patserbak :D


  • Jeffrey v. Hees
  • Registratie: Augustus 2006
  • Laatst online: 15:23
osorkon! schreef op woensdag 25 mei 2011 @ 21:21:
[...]


Is die niet in Beta nog? :)

Zijn er eigenlijk projecten die openbaar te bekijken zijn om de structuren eens te zien in een werkend voorbeeld?
Bv onze eigen tweakers.net website?
Neem eens een kijkje naar Lithium: the most rad php framework (li3). Een zeer mooi framework al zeg ik zelf met ondersteuning voor MySQL, MongoDB en CouchDB (en meer). Ingebouwde authenticatie functies etc. Maakt volledig gebruik van namespaces (dus je kunt gewoon Zend-modules gebruiken eventueel).

Dit framework is zeer licht en is gemaakt door mensen die uit het CakePHP-project zijn gestapt en hun eigen variant hebben gebouwd. Zeker een kijkje waard!

Lithium komt trouwens niet van Zend zoals gezegd wordt, maar van CakePHP.

[Voor 4% gewijzigd door Jeffrey v. Hees op 06-10-2012 17:40]

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee