OOP Class Check
Nou heb ik een Class geschreven Page_numbers met het idee dat ik um makkelijk in andere projecten kan gaan gebruiken.
Nou is mijn vraag of jullie even naar de class willen kijken of ik het goed heb aangepakt omdat ik met het fenomeen nog niet zo heel bekend ben.
Opbouwende kritiek is van harte welkom (ook issues over bad practice)
De Class:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
/********
* Show all errors
********/
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
/********
* Show all errors
********/
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
Gewijzigd op 16/03/2006 16:49:00 door The Beeding Clown
Ben ik de enige die hier onder de code blokken " target="_blank"> ziet staan? ;-)
Alleen je moet wat meer commentaar binnenin het script geven. (niet dat ik dat doe maar oke)
Is het wel toegestaan op het moment dat je het object aanmaakt je gelijk de Class varablen mee geeft ??
En kan het geen kwaat de Constructor zo vol te zetten met dingen ??
Gewijzigd op 15/03/2006 16:19:00 door The Beeding Clown
Jah dat moet juist ;)
nano:
Dat zeggen heel veel mensen, maar ik denk niet dat als je je script over een maand of twee terug ziet dat je gelijk weet hoe het werkt.Tnx, Commentaar zet ik in mijn eigen scripts nooit zo heel veel... Omdat je het zelf gescript en als je er naar kijkt weet je meestal gelijk weer wat het allemaal doet.
Quote:
Ah oke, tnx.. (ben er allemaal nog een beetje nieuw mee)Jah dat moet juist ;)
Gewijzigd op 15/03/2006 16:41:00 door The Beeding Clown
Sebastiaan:
Daar heb je eigenlijk wel gelijk in idd.. En zeker met classes, die zijn meer plug and play en kijk je ook natuurlijk niet zo heel vaak meer na.Dat zeggen heel veel mensen, maar ik denk niet dat als je je script over een maand of twee terug ziet dat je gelijk weet hoe het werkt.
Gewijzigd op 15/03/2006 16:41:00 door The Beeding Clown
Daarom. Bijvoorbeeld: Een MySQL database driver voor de site bijvoorbeeld schrijf je als je het goed doet maar één keer, je hoeft hem niet meer terug te zien, je include hem en klaar. Maar over twee jaar wil je je site wat uitbreiden en je weet niet precies wat die ene functie deed. Er staat geen commentaar in je script en je bent twee uur bezig wat anders 30 seconden zou duren :-)
Ik denk (herstel: ik weet) dat het bij klassen zoals deze van Nano (of die ik aan het bijwerken was) niet erg nodig is om commentaar in te voegen. Voor anderen mag het misschien handig zijn, maar ik denk dat het wel handig kan zijn voor anderen.
Mocht je het publiceren, dan gewoon goed documenteren. Bijvoorbeeld met PHPdoc.
Heb ik nog wel even 1 vraagje.. :unsure:
Ik wil naast deze Class vanavond ook een Database Class gaan maken.
Hoe moet ik de query's uit deze Class veranderen zodat de gebuik maken van de Database Class ??
Moet ik in dit Object een Object Database aanmaken ?? Hoe gaat dat allemaal presies in zijn werk.
(Slecht) voorbeeldje:
Code (php)
je moet wel even oppassen: De __construct functie van Page_numbers overschrijft die van Database, dus je kan denk ik het beste bij Database een functie initConnection() maken, en vanuit je __construct functie daar naar verwijzen.
Uhmm "extends" betekend toch dat ie alle Propeties en Methods van zijn Parent Class erft ??
De $this-> refereerd (als ik het goed heb) naar zijn eigen Class (object)
Is het niet makkelijker (zit ik ineens te denken) om na het aanmaken van het Database Object, in de Pagenumber Class "$Database->run_query($sql);" te doen, of gaat dat niet werken, is dat niet slim om het op die manier aan te pakken?
Sorry als ik mischien een beetje bull lul nu, ik ben er echt nog een beetje nat achter mijn oren mee allemaal.
Ik hoor graag de reacties, wil het allemaal snel en belangrijker nog, op de goeie manier onder de knie krijgen.
extend -> [vertalen] -> uitbreiden, dus ja :-)
$this wijst inderdaad naar alle functies en alle variabelen binnen de scope van de klasse, en als je een klasse extend, krijg je inderdaad ook alle functies en variabelen van de klasse die je uitbreidt in die scope, tenzij je ze in de extentie overschrijft.
ik ga er lekker verder mee spelen.. Als ik er niet uitkom kom ik jullie wel weer even lastig vallen met alle problemen waar ik tegenaan loop. :P
Heel erg bedankt voor de feedback en antwoorden op mijn vragen, stel het zeer op prijs :)