I de seneste par projekter benytter jeg funktioner kun relativt sporadisk, og det disse funktioner bliver primært brugt i samme platoniske setup som Wordpress - altså som "tags".
Jeg holder klasser og filer i 1:1. En klasse, en fil. Derpå har jeg en autoloader der sikrer at kun nødvendige klasser/filer indlæses når der opstår behov. Samme mulighed er der ikke for funktioner.
Men jo flere filer der skal indlæses, jo mere IO aktivitet vil der være, og derfor kan der med en stor mængde filer være tale om længere afviklingstid. Ligeledes skal man huske at PHP indlæses til RAM før afvikling. Så jo flere linjer, jo mere RAM bruges der. Disse to ting taget i betragtning, er det altid en afvejning. Hastighed vs. letlæselighed.
Men! En fil med al php-kode i er absolut no-go. Det kan lade sig gøre med sådanne projekter som Adminer, eller lign. Arbejdes der med større projekter med over 10.000 linjer kode, så bør man opdele sin kode i klasser, funktioner og templates.