'Conventionele' PHP omzetten naar OO

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nkamp Kamp van de

nkamp Kamp van de

15/01/2014 09:29:39
Quote Anchor link
Hallo,

Ik heb wel enige ervaring met php maar ik beschouw mij zelf nog steeds niet als guru. en om mijn kennis op een hoger plan te brengen bedacht ik miji opeens om conventionele php code om te zetten naar OO.

Nu roep ik vanuit een joomla artikel een stuk eigen gemaakte ‘conventionele’ php code aan, dwz.:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
Include(database connectie);

If (vereninguitslagen) {}

elseif (verenigingprogramma) {}

elseif (teamuitslagen) {}

elseif (teamprogramma) {}

elseif (teamstand) {}

Etc.

close connectie;
?>

Ik heb tabs gemaakt dus binnen het artikel roep ik deze php pagina meerdere keren aan, dwz bv. tab teamprogramma en teamstand roep ik deze pagina voor iedere tab afzonderlijk aan.
Dit is voor mijn gevoel niet correct. Daarom zat ik te denken om er een class met methods van te maken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
Include(database connectie);

class overzicht {

function
__constructor() { }

function (
vereninguitslagen) {}

function (
verenigingprogramma) {}

function (
teamuitslagen) {}

function (
teamprogramma) {}

function (
teamstand) {}

etc.

close connectie;
}

?>


Dan instantieer ik de class éénmaal en roep binnen de tabs de bepaalde functies aan.

Database connectie:
Voor de team pagina maak ik gebruik van twee classes, één team zelf (foto/namen) en één voor het overzicht (hierboven in pseudo code weer gegeven). Beide classes maken gebruik van database connectie. Daarom moet je volgens mij de database connectie buiten de class houden. Ik heb mij afgevraagd of het goed/correct OO is om bv. de database connectie binnen de class op te nemen of zelfs in de constructor.

Veiligheid: de visibility van de methods moet denk ‘public’ zijn anders werkt het niet?

Voor de rest is het volgens performance zo-wie-zo beter. Ik maar eenmaal connectie.
 
PHP hulp

PHP hulp

29/04/2024 17:14:04
 
Willem vp

Willem vp

15/01/2014 14:14:38
Quote Anchor link
Procedurele code en objectgeörienteerde code zijn fundamenteel verschillend van elkaar. De enige manier om je programma op een OO-verantwoorde manier om te bouwen is door terug te gaan naar de tekentafel en je programma van scratch af aan te herschrijven.

Doe je dat niet, dan krijg je procedurele code in een OO-jasje, en dat blijft altijd wel ergens rammelen.

Toevoeging op 15/01/2014 14:16:56:

Nkamp Kamp van de op 15/01/2014 09:29:39:
Voor de rest is het volgens performance zo-wie-zo beter. Ik maar eenmaal connectie.

Dat maken van een connectie merk je niet echt / echt niet in je performance. Valt volledig in het niet bij je queries.
Gewijzigd op 15/01/2014 14:18:40 door Willem vp
 
Nkamp Kamp van de

nkamp Kamp van de

15/01/2014 20:55:17
Quote Anchor link
Hallo Willem,

Dat begrijp ik en ik weet dat OO de opzet totaal anders is. Een paar jaar geleden heb ik de java certificering gedaan en gehaald maar helaas nooit een klus in gehad! Wat dat betreft zou ik zoek ik ....

Maar goed het is voor de volleybal en ik ga dan maar gewoon beginnen. Ik maak gewoon een class team, en een class teamresultaat.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.