Zoals menig ander programmeur ben je ooit begonnen in een programmeertaal en heb je in de loop der tijd een aardige library opgebouwd van zaken die je liever niet meer kwijt wilt. In mijn geval een slordige 80Kb aan veelgebruikte, al dan niet zelfgeschreven functies in één enkele PHP file. Dit varieerd van debug functies, tot functies voor arrays, datum/tijd, template functies en de hele zut. Ik werk inmiddels met PHP5 en ben bezig om alles zo object georienteerd mogelijk aan te pakken, vandaar de volgende ideeen:
Laatst zat ik eens door een cursusboek van MCP heen te bladeren en was er ineens erg voor om mijn "library" op te gaan splitsen in lossen klassen, zodat je bijv. alle functies daar stopt waar je ze verwacht. Denk dan bijv. aan:
$debug->write(..)
$debug->writeln(..)
$date->formatForSQL(...)
$template->isChecked(...)
et cetera.
Nu is het bij C# zo, dat je enkel de library hoeft te "includen" en je kunt bijvoorbeeld System.Data.OleDb.OleDbDataReader aanroepen. In PHP werkt dit natuurlijk iets anders, aangezien je voor zover ik weet niet zo ver "omlaag" kunt gaan, zonder eerst overal losse, nieuwe instanties van te maken, tenzij je "debug::writeln" gaat doen, toch?
Graag verneem ik jullie gedachten over een dergelijke herstructurering van bestaande code. Is het de moeite waard, hoe hebben jullie het eventueel aangepakt, en wat zou de beste methode zijn?
Laatst zat ik eens door een cursusboek van MCP heen te bladeren en was er ineens erg voor om mijn "library" op te gaan splitsen in lossen klassen, zodat je bijv. alle functies daar stopt waar je ze verwacht. Denk dan bijv. aan:
$debug->write(..)
$debug->writeln(..)
$date->formatForSQL(...)
$template->isChecked(...)
et cetera.
Nu is het bij C# zo, dat je enkel de library hoeft te "includen" en je kunt bijvoorbeeld System.Data.OleDb.OleDbDataReader aanroepen. In PHP werkt dit natuurlijk iets anders, aangezien je voor zover ik weet niet zo ver "omlaag" kunt gaan, zonder eerst overal losse, nieuwe instanties van te maken, tenzij je "debug::writeln" gaat doen, toch?
Graag verneem ik jullie gedachten over een dergelijke herstructurering van bestaande code. Is het de moeite waard, hoe hebben jullie het eventueel aangepakt, en wat zou de beste methode zijn?