eigen framework / beheersysteem
Pagina: 1 2 3 ... 10 11 12 volgende »
Ik ben al begonnen met een framework en ik maak daarbij gebruik van Zend Framework, maar nu vraag ik me het volgende af. Ik heb behoorlijk wat PHP kennis en ervaring inmiddels, maar ik heb hier geen opleiding voor gehad. Ik wil het mezelf dan ook altijd zo makkelijk mogelijk maken als ik aan het programmeren ben. Voorbeeld, als ik een databasequery wil uitvoeren dan wil ik niet een hele query in te hoeven typen, maar wil ik simpele functies kunnen gebruiken, bijvoorbeeld: $database->setTable('tabel') en $row = $database->select('naam') etc.
Ik gebruik Zend Framework met name omdat ik mooie routes kan maken, bijvoorbeeld www.mijnsite.nl/kantoorartikelen/nietmachine in plaats van www.mijnsite.nl/?category=4&product=2.
Ook vind ik het handig dat ik in Zend Framework een route makkelijk kan koppelen aan een controller en een actie. Daarnaast gebruik ik de MVC structuur (modules), de Zend_Registry functie om iets op te slaan en gebruik ik de caching functie voor het cachen van gegevens.
Ik gebruik Zend Framework dus voornamelijk voor:
- maken van mooie routes
- routes koppelen aan controller en actie
- MVC structuur (modules)
- Zend_Registry om variabelen op te slaan
- Caching
Voor de rest gebruik in Zend Framework eigenlijk niet. Ik weet dat er heeeel veel mogelijkheden in Zend Framework zitten, maar ik ben niet iemand die dat allemaal wil uitvogelen, en ik wil toch altijd graag mijn eigen code schrijven zodat ik precies weet wat de code doet en hoe deze in elkaar zit (zodat het voor mijzelf logisch is en makkelijk te gebruiken).
Nu vraag ik me 2 dingen af:
1) is het voor mij eigenlijk wel zinvol om Zend Framework te gebruiken aagezien ik er niet heel veel mogelijkheden van benut.
2) zijn de 5 functies waar ik gebruik van maak (makkelijk) ook zelf te maken of is dat heel erg ingewikkeld?
Wat raden jullie aan? Zend Framework blijven gebruiken ook al gebruik ik er maar weinig van? Of toch zelf mijn eigen functies maken en Zend Framework niet meer gebruiken? Ik stel deze vraag ook omdat Zend Framework zo'n 23mb aan serverruimte in beslag neemt.
Dit topic is een aanrader voor beginnende OOP-programmeurs.[/modedit]
Gewijzigd op 06/01/2011 13:17:06 door Jens V
De eerste drie punten zijn niet heel erg ingewikkeld. De laatste twee zijn misschien wat moeilijker..
Oke, maar het gaat mij er vooral om hoe jullie dat zien. Is het "gerechtvaardigd" om slechts enkele functies van zo'n framework te gebruiken, of sla je dan eigenlijk de plank mis?
Er zijn ook andere, kleinere, frameworks die je wellicht kunt gebruiken. En als je het echt zelf wilt scripten zijn de punten die je noemt, zoals Karl al zegt, niet de meest ingewikkelde...
Bij deze dingen zou ik zeker geen ZF gebruiken, maar zelf schrijven. Je zit dan ook niet aan de regels van ZF vast.
Verder is het ook geen hocus pocus zoals je soms wel eens hebt bij javascript (verschil in implementatie e.d.)
Maar er zijn wel hele nuttige componenten hoor. Kijk naar Form, View, Acl, Auth, Db of Search_Lucene
Toevoeging op 30/12/2010 16:40:42:
Pim - op 30/12/2010 16:33:50:
Maar er zijn wel hele nuttige componenten hoor. Kijk naar Form, View, Acl, Auth, Db of Search_Lucene
Oh ja, ik moet ook variabelen naar m'n view kunnen sturen natuurlijk :(
Gewijzigd op 30/12/2010 16:40:53 door Ozzie PHP
Volg anders deze tut eens: http://phpro.org/tutorials/Model-View-Controller-MVC.html
Dan krijg je een beeld hoe je een framework opbouwt. Al is de code daarin tegen weer wat minder.
Quote:
Oh ja, ik moet ook variabelen naar m'n view kunnen sturen natuurlijk :(
Zie bovenstaande url, daar wordt dit uitgelegd.
Niels Kieviet op 31/12/2010 15:55:11:
Waarom wil je een framework bouwen met een framework? Dat gaat hem toch niet worden? Of je schrijft een eigen framework of je gebruikt een bestaande.
Om die paar handige dingen die erin zitten gebruikte ik het, maar ga het nu dan maar eens zelf proberen.
Thanks voor de tutorial, ik had diezelfde tutorial gisterenavond zelf al gevonden en doorgelezen (het was weer een latertje). Er staat duidelijk uitgelegd hoe een en ander werkt, dus daar kan ik wel even mee aan de slag.
Neem eens een kijkje bij CodeIgniter. Heeft alles wat je nu al gebruikt, is simpel qua opzet, populair (veel uitbreidingen voor te vinden), makkelijk uit te breiden, klein en heeft een goede documentatie. Als je ZF snapt dan kan CodeIgniter alleen maar erg meevallen.
Oke thanks, ik zal eens kijken.. en anders ga ik gewoon zelf aan de slag. Heeft in ieder geval als voordeel dat ik precies weet hoe alles in elkaar steekt :)
Ik hoor over CI weinig goeie berichten. Zal hem ook eens downloaden, dan kan ik een onderbouwde mening geven :)
@Ozzie
Ik zou gaan voor de 'doe-het-zelf' optie. Maar ik zal als ik jouw was wel zelf een implementatie maken, want de code is daarin tegen weer niet zoveel soeps :) Laat zo af en toe eens zien wat je hebt dan kunnen wij dat reviewen voor je.
Niels Kieviet op 31/12/2010 16:41:53:
Maar ik zal als ik jouw was wel zelf een implementatie maken, want de code is daarin tegen weer niet zoveel soeps :)
De code in de tutorial bedoel je? Kun je daar een voorbeeldje van geven wat je bedoelt? Ja, ik zal wel kijken wat ik ga doen... moet er nog wel even tijd voor zien vrij te maken :)
Verder de volgende punten:
- Coding standards zijn niet te mijne :)
- Registry is niet veel soeps
- Database is ook niet zoveel soeps
- Router zou ik veel meer uitgebreid maken met regexp endergelijke
- De autoloader kan ook wel wat aanpassingen gebruiken :)
- Mis een optie voor een ini config of een xml config
- Elke controller krijgt het registry als parameter mee, en veel andere klasse ook terwijl dit soms helemaal niet nodig is.
- De V van het MVC zou ik anders oplossen.
- Mis belangrijke zaken zoals caching, validation, authentication etc
Dat zijn juist dingen die zend framework weer wel allemaal netjes heeft geïmplementeerd dus al zou je de keuze aan mij geven dan zou ik zend framework nemen maar goed komt misschien ook omdat ik daar dagelijks mee werk.
thanks voor de tips ;)
Registry is niet soeps
- Geen controle of de variabelen wel zijn gezet, alles wordt zomaar terug gepompt.
- Alleen maar magic methods, wanneer dit niet werkt op een één of andere manier kan je variabelen niet meer ophalen.
- lazy registreren van object zou wel cool wezen
- Overschrijven van waarden is mogelijk. Stel je voor je hebt 'config' is het register gegooid en zonder dat je het zelf weet gooi je een ander object ook met de naam 'config' het register in. En dan sta je verbaasd waarom je bepaalde configuratie waarden niet meer op kan halen terwijl je deze toch gezet hebt.
Routing
Je vroeg om een voorbeeld, hier op phphulp zijn er wel eens twee voorbeelden gemaakt door pim en mijzelf. klik
Autoloading
Ik vind hem een beetje rommelig, en weinig mogelijkheden. Ik zou hem opsplitsen in verschillende autoloaders
- ArrayAutoloader
- PearAutoloader
etc, daar moet je even mee spelen.
V van het MVC
Kijk eens Zend_View dat vind ik een mooie implementatie. De oplossing uit die tut is gewoon te summier.
Verder niet zoveel tijd om zeer uitgebreid te reageren, maar hoop dat ik je wat meer informatie heb gegeven ;)
Quote:
- Elke controller krijgt het registry als parameter mee, en veel andere klasse ook terwijl dit soms helemaal niet nodig is.
?
Als een registry ergens nuttig is, is het toch wel in de controller?
Niels Kieviet op 31/12/2010 16:41:53:
@The Force
Ik hoor over CI weinig goeie berichten. Zal hem ook eens downloaden, dan kan ik een onderbouwde mening geven :)
Ik hoor over CI weinig goeie berichten. Zal hem ook eens downloaden, dan kan ik een onderbouwde mening geven :)
Dan ben ik erg benieuwd naar die weinig goede berichten, want die zijn bij mij niet bekend. Ja oké, behalve dan dat ze qua codestyle niet alles PHP5 hebben. Dus de methodes van hun hebben geen public/private e.d. ervoor staan. Is op zich geen probleem aangezien je eigen classes wel gewoon in je eigen stijl kan doen. Vind je dat echt een probleem dan moet je maar eens naar Symphony kijken. Maar hoe je het ook ziet: alles is beter dan een eigen framework maken (behalve dan dat het leerzaam is). Ik heb gedurende mijn schoolperiode zo'n 3 PHP 'frameworks' geschreven. Leuk om te doen, dat zeker. Maar het wordt niet beter dan bestaande open-source frameworks die continue doorontwikkeld worden door een team van goede programmeurs. Veiligheid zal zeer waarschijnlijk minder goed geregeld zijn. Kijk eens naar http://codeigniter.com/user_guide/database/active_record.html, geniaal toch? Oké, Active Record van Ruby on Rails is nog net wat genialer, maar dat terzijde. Ik ben eerst overgestapt op ZF (lekker uitgebreid), maar echt sneller ging ik er niet van programmeren. Met CodeIgniter kan je snel goede betrouwbare applicaties schrijven.
Mijn advies: stop de tijd die je wil steken in het ontwikkelen van je eigen CMS in het personaliseren van een bestaand framework. Download wat additionele libraries voor bijvoorbeeld authenticatie of Twitter.
Niels Kieviet op 31/12/2010 17:23:22:
- Alleen maar magic methods, wanneer dit niet werkt op een één of andere manier kan je variabelen niet meer ophalen.
- ArrayAutoloader
- PearAutoloader
etc, daar moet je even mee spelen.
- ArrayAutoloader
- PearAutoloader
etc, daar moet je even mee spelen.
Ipv magic methods dan get en set functie maken?
Wat bedoel je met ArrayAutoloader en PearAutoloader?
Toevoeging op 31/12/2010 19:52:49:
The Force op 31/12/2010 19:46:40:
Mijn advies: stop de tijd die je wil steken in het ontwikkelen van je eigen CMS in het personaliseren van een bestaand framework. Download wat additionele libraries voor bijvoorbeeld authenticatie of Twitter.
Die database class ziet er leuk uit, maar kan ik ook zelf maken, dat lukt me nog wel... maar er zijn ook dingen die ik niet eerder heb gedaan en die een stuk lastiger zullen zijn. Maar op zich lijkt zelf maken we wel leuk. Waarom denk je dat het minder veilig is overigens? Ik zou juist het tegenovergestelde denken namelijk...
Zo'n beetje de enige die er te vinden is. Ik ga er maar eens mee aan de slag...