Om dat direct van tevoren in te zien vereist behoorlijk wat ervaring en dan nog is het niet altijd mogelijk.
Tijdens het programmeren van je procedurele code kom je vanzelf in situaties waar je bepaalde functionaliteiten of objecten mist, dat is het moment dat je een nieuwe class of method moet schrijven. De basis moet je vooraf natuurlijk wel uitgedacht hebben, maar volgens mij had je dat al.
Niels, net als jou ben ik bezig met het begrijpen en toepassen van het objectgeorienteerde programmeren. Ik wil je graag als tip meegeven dat het in mijn geval erg nuttig was om OOP buiten PHP te zien, en te leren. Ik heb me gericht op Java (waar je niet om OOP heen kan), en daar wat boeken over gelezen. Daardoor heb ik de OOP gedachtegang begrepen, en is het toepassen van OOP in PHP ook een stuk duidelijker geworden.
Ook ik heb in het begin net als jou wat PHP OOP tutorial doorgenomen, maar in mijn geval was dat niet datgeen dat de denkwijze voor mij duidelijk maakte. Kijk eens naar Java of een andere objectgeorienteerde taal, ik weet zeker dat het dan een stuk sneller voor je wordt. Ik heb ook niet het idee dat je OOP het beste kan leren in samenwerking met PHP.