PHP structuur

Status
Niet open voor verdere reacties.

matthew843

Gebruiker
Lid geworden
5 jun 2011
Berichten
19
Beste helpmij leden,

Als ik php gebruik werk ik voornamelijk met frameworks zoals cakephp. Ik wil dit keer een website maken zonder een framework, alleen ik weet niet precies wat voor structuur ik dan moet aannemen.

Ik heb nu gekozen voor de volgende structuur:
structuur.png

Heeft iemand tips hierover?

Alvast bedankt!

Mvg,

Matthew
 
I'm confused.
Eerst geef je aan een website te willen bouwen zonder framework,
dan wijst iemand je op een tutorial om zelf een framework te bouwen en dan ben je ergt enthousiast over die reactie.

Wat voor soort website moet het eigenlijk worden?

Ik kan me heel veel voorstellen van gebruik van php in een website (alleen al het gebruiki van include-bestanden)
maar daar heb je echt niet altijd Models, Views en Controllers voor nodig.
 
Je kunt een website bouwen zonder gebruik te maken van een bestaand framework, maar dat zal betekenen dat je zelf een framework gaat bouwen. Waarom; programmeren gaat nu eenmaal het snelst en prettigst als je jezelf niet hoeft te herhalen. Dat betekent dat je elke handeling die je programmeert automatisch in een classje onderbrengt en presto: framework.

PS: Ik vraag me elke keer weer af waarom mensen zo vaak beginnen over MVC alsof het iets heel bijzonders is, maar kun je ergens een script bedenken waarin de businessrules, het gedrag van de applicatie en de code voor het tonen van de data niet is opgesplitst, al is het maar in functies? Anders gezegd; bestaat er code die niet MVC doet? (ja, je kunt tientallen definities van MVC vinden, en dat bekrachtigt alleen maar mijn argument)
 
PgVincent, met jouw eerste zin zeg je in feite dat je geen website zou kunnen bouwen zonder een framework.
Dat kan ik alleen maar serieus nemen als je in feite niet websites bedoeld maar webbased applicaties.

Een echte website gaat heel goed zonder MVC-framework.
En als je (zoals je wel terecht opmerkt) herhalingen in je werk wilt voorkomen, dan bouw je een website met behulp van een content management system.

Wat je zegt over 'programmeren' en over het gebruik van MVC, m.a.w. alles in je PS,
sterkt me in het idee dat we over twee verschillende dingen praten.
We verschillen niet van mening maar van invalshoek.
 
Zend CakePhP worldpress zijn grote zware frameworks.
En dat is vaak overkill. Als je dan een lightweight MVC bouwt met functies die je nodig hebt.
Dan leer je hoe die grote zijn opgebouwd en de functionaliteit kun je uitbouwen naar je eigen wensen.

Ik zelf ben al zeker 8x opnieuw begonnen om dat ik steeds nieuwe dingen bijleer en implementeer in mijn framework.
Mijn volgende MVC zal met een CMS worden. (was mijn aller eerste ook al, maar dat was een gamma versie ;) )

MVC is ook ook geen framework, maar een manier om het op te bouwen.
Het voordeel van een MVC is dat je het voor jezelf overzichtelijk kunt houden.
Elk onderdeel heeft een eigen controller, welke de taak heeft om de noodzakelijke models te laden om de benodigde data aan de
noodzakelijke view te geven.

Wat ik zelf tegenwoordig doe, is dat ik de data van een model soms eerst nog naar een module stuur.
bv. een login die ik op elke pagina heb.
De main_Controller laad dan elke keer de login_Model welke de login status checkt en het resultaat in een login_ Module stuurt.
De module regelt of je de form te zien krijgt kijkt of regelt het weergeven van de gebruikersgegevens.
De module zal als laatste aan de view worden gegeven zodat het in de browser zichtbaar wordt.
 
Laatst bewerkt:
Zend CakePhP worldpress zijn grote zware frameworks.
En dat is vaak overkill.

Als je dan een lightweight MVC bouwt met functies die je nodig hebt.
Dan leer je hoe die grote zijn opgebouwd en de functionaliteit kun je uitbouwen naar je eigen wensen.

Ik zelf ben al zeker 8x opnieuw begonnen om dat ik steeds nieuwe dingen bijleer en implementeer in mijn framework.
Mijn volgende MVC zal met een CMS worden. (was mijn aller eerste ook al, maar dat was een gamma versie )

Hiermee vat je heel mooi samen hoe wonderlijk veel mensen denken;
Bestaande frameworks zijn uitgebreid en als ze meer kunnen dan de ontwikkelaar op dat moment nodig denkt te hebben dan wordt botweg de conclusie getrokken dat het overkill is.
Wat betekent dan overkill? Geen idee, maar het steekt heel erg als er meer code in de codebase zit dan tijdens de eerste schatting nodig werd geacht.

Dus men begint vrolijk met nieuwe code en omdat die code nog helemaal niets doet is het ook beduidend sneller dan de bestaan de oplossingen. Juich en jubel.
Tijdens het ontwikkelen worden alle functies die echt nodig zijn toegevoegd en komt de performance al dichter bij wat de bestaande frameworks doen. Waarom: je hebt die dingen nu eenmaal nodig en dat kost nu eenmaal tijd.
Uiteindelijk, en daarmee overdrijf ik niet eens zo veel, wordt je eigen framework net zo groot als de frameworks die je eerder te groot vond.

Kortom; het is onzin om te zeggen dat een bestaand framework overkill is, je kunt beter zeggen dat het moeilijk is om een compleet beeld te krijgen van alle functies die je nodig hebt.

Als je iets moet maken voor een klant, pak dan een bestaand framework. Ga niet zelf bouwen want dat duurt veel te lang en de kwaliteit is veel te laag.
Als je thuis in je vrijetijd wilt bijleren dan is het bouwen van een frameworkje wel interessant, maar begin met kijken naar de code van de bestaande frameworks.
Zij hebben alle manieren die niet werken al geprobeerd en afgeschreven dus daar hoef je je tijd niet aan te verdoen.
 
@PgVincent: Je kunt arrogant en heel neerbuigen doen. Geweldig dat jij een alweter bent. Maar er zijn mensen die moeten leren hoe iets werkt en doen dat door het instampen van regel na regel van code.

En als je niet al de functionaliteit nodig hebt van een bestaand framework dan is het een mooie case om je kennis te verrijken.

waarmee
Kortom; het is onzin om te zeggen dat een bestaand framework overkill is, je kunt beter zeggen dat het moeilijk is om een compleet beeld te krijgen van alle functies die je nodig hebt.
BS is.
 
@PgVincent: Je kunt arrogant en heel neerbuigen doen. Geweldig dat jij een alweter bent. Maar er zijn mensen die moeten leren hoe iets werkt en doen dat door het instampen van regel na regel van code.

Klopt, ik kan erg arrogant klinken maar geloof me, dat bedoel ik niet (altijd) zo.

Ervaring heb ik ook, en daar probeer ik mensen mee te helpen. Helaas vat men dat soms op als betweterigheid, vooral als wat ik zeg haaks staat op wat men denkt.

En als je niet al de functionaliteit nodig hebt van een bestaand framework dan is het een mooie case om je kennis te verrijken.

Zoals ik zei; als je geen deadline hebt dan is het bijzonder leerzaam om een bestaand framework open te maken en te zien wat ze allemaal doen.
Doe bijvoorbeeld eens een trace van het opstarten van een Zend framwork app, en kijk eens wat die allemaal doen en vooral: waarom. Je zult versteld staan van hoe weinig van wat ze doen echt overbodig is.

Zelf een framework from scratch schrijven is leerzaam in de zin dat leert dat het echt geen makkie is, je moet rekening houden met honderden zaken waarvan je amper wist dat ze bestonden en gaande weg leer je dat wat de bestaande frameworks doen nog helemaal zo gek niet is.

Maargoed, dat is dus een kwestie van ervaring.

waarmee
Kortom; het is onzin om te zeggen dat een bestaand framework overkill is, je kunt beter zeggen dat het moeilijk is om een compleet beeld te krijgen van alle functies die je nodig hebt.
BS is.

Nope, zeggen dat het overkill is is zeggen dat je geen idee hebt van wat er allemaal gebeurt. Je ziet heel veel bestanden en concludeert dat dat niet goed kan zijn. Dat is BS.
 
Jij doe een mooie aanname,
Je ziet heel veel bestanden en concludeert dat dat niet goed kan zijn.
Met een raket kun je ook op een olifant jagen!

Overkill is niet meer dan een statement dat je meer tot je beschikking hebt dan je nodig is.

En over het arrogant klinken, en mensen proberen te helpen. een vriendelijke tip, ga dan niet op een hoge stoel betweterig doen.
En al ben je van een andere mening bedeeld, hoor je je nog met respect voor een andere mening te uiten..mijn mening :)

En over het leren, ja zoiets is zeker geen makkie maar het geeft je een mooie tool om ervaring op te doen.
 
Met een raket kun je ook op een olifant jagen!

Een framework is geen raket, een framework is een goed doordacht arsenaal wapens en als jij alleen een olifant wilt jagen dan kun je van het framework ook alleen het olifantengeweer gebruiken.

En over het arrogant klinken, en mensen proberen te helpen. een vriendelijke tip, ga dan niet op een hoge stoel betweterig doen.

Dat is lastig want jij noemt blijkbaar elke opmerking die niet overeenkomt met jouw mening betweterig.

Afijn, laten we hier maar over ophouden, we zitten ruzie te maken om niets.
 
Bedankt voor de tips.

@tecsman De reden van mijn enthousiasme is dat ik door die tutorial me beter ben gaan bedenken wat voor structuur ik zal gebruiken. Het gaat om een website die bepaalde gegevens bijhoudt.(niet echt boeiende gegevens, dus de security hoeft ook niet echt geweldig te zijn)

@PgVincent Ik wil eigenlijk gewoon voor mezelf een website maken, zonder gebruik te maken van een framework.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan