Ik loop momenteel stage bij een klein bedrijfje dat websites ontwikkeld in PHP. Nu heb ik als opdracht om er voor te zorgen dat hun projecten beter worden opgezet, een deel daarvan is ook het verbeteren van de code.
Ik heb tijdens mijn opleiding geleerd om te werken met een 3 lagen model (gui, applicatie logica en db logica) en het lijkt mij dat dit binnen php ook nuttig is om nette systemen te maken.
Op dit moment wordt er al gebruik gemaakt van smarty, wat al een opslitsing tussen de php code, en de display logica geeft. Er wordt ook gebruikt van pear db_dataobject, wat de database operaties mooi appart zet (zelf schrijven van sql binnen je php code vrijwel niet nodig)
nu zit ik alleen met die middelste laag, de bussiness logica, wat kan je daar onder verstaan binnen php? De mensen bij het bedrijf zeggen dat dat index.php is, maar dat lijkt mij niet juist (als je netjes binnen 3 lagen wil werken, moet er vrijwel niets in index.php staan volgens mij, net als in je main bij een java programma)
Als je het wel objectgeorienteerd doet, is de kans groot dat de applicatie logica laag een doorgeef luik wordt, die eigenlijk niets doet (en alleen maar meer werk op levert)
Hoe moet het dan wel, vraag ik mij af?
Wie wil hier eens zijn visie over laten schijnen?
Ik heb tijdens mijn opleiding geleerd om te werken met een 3 lagen model (gui, applicatie logica en db logica) en het lijkt mij dat dit binnen php ook nuttig is om nette systemen te maken.
Op dit moment wordt er al gebruik gemaakt van smarty, wat al een opslitsing tussen de php code, en de display logica geeft. Er wordt ook gebruikt van pear db_dataobject, wat de database operaties mooi appart zet (zelf schrijven van sql binnen je php code vrijwel niet nodig)
nu zit ik alleen met die middelste laag, de bussiness logica, wat kan je daar onder verstaan binnen php? De mensen bij het bedrijf zeggen dat dat index.php is, maar dat lijkt mij niet juist (als je netjes binnen 3 lagen wil werken, moet er vrijwel niets in index.php staan volgens mij, net als in je main bij een java programma)
Als je het wel objectgeorienteerd doet, is de kans groot dat de applicatie logica laag een doorgeef luik wordt, die eigenlijk niets doet (en alleen maar meer werk op levert)
Hoe moet het dan wel, vraag ik mij af?
Wie wil hier eens zijn visie over laten schijnen?