Wat is beter?
Ik ben bezig met het schrijven van enkele classes. Elk van hen neemt een bepaalde feature van de website voor zijn rekening. Veel hergebruik van functions is er dus niet. Telkens aan het begin van de class zet ik een function die bepaalt welke function er vervolgens moet aangeroepen worden. Is dit een logische manier van werken of wordt ik verondersteld dit buiten de class te doen? Na deze selectie worden enkele query's uitgevoerd en html geoutputted. Is het ok als ik dit ook in de class uitvoer?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
class useredit {
function useredit()
{
}
function useredit_select()
{
if(isset($_POST['add']) != "")
{
}
elseif (isset($_GET['add']))
{
}
else
{
$useredit_output .= $this->useredit_get();
}
return $useredit_output;
}
function useredit_get()
{
global $db, $pagina;
$SQL = "SELECT
user_id,
user_voornaam,
user_naam,
...
?>
class useredit {
function useredit()
{
}
function useredit_select()
{
if(isset($_POST['add']) != "")
{
}
elseif (isset($_GET['add']))
{
}
else
{
$useredit_output .= $this->useredit_get();
}
return $useredit_output;
}
function useredit_get()
{
global $db, $pagina;
$SQL = "SELECT
user_id,
user_voornaam,
user_naam,
...
?>
Dit stukje code geeft een voorbeeld van de structuur.
Is het mogelijk me enkele ideeën te geven omtrent de organisatie van mijn classes aub? Ik moet dit namelijk doen voor mijn eindwerk en dat zou zo goed mogelijk moeten zijn :-D
Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Koko
Mocht het zijn dat je met PHP5 werkt, raad ik je aan om __construct te gebruiken.
Alleen heb k nog nooit gewerkt met die __construct... das t probleem.
Hier staat ook het één en ander erover:
http://nl3.php.net/manual/en/language.oop5.decon.php
Gewijzigd op 01/01/1970 01:00:00 door Willem-Aart
Hopelijk is t boek te vinden bij de Standaard boekhandel :p (waar anders?)
bol.com
Gewijzigd op 01/01/1970 01:00:00 door Willem-Aart
Denk bv. aan een database-classe waarbij je in de contructor de verbinding met de database maakt en in de destructor de verbinding verbreekt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
class MyClass {
public $sVar = '';
function __construct(){
// doe de standaard dingen
}
public function jouw_functie($sString){
// voer deze public functie uit
}
private function andere_functie($iInteger){
// voer deze private functie uit
}
function __destruct(){
// doe de standaard dingen voordat je afsluit
}
}
?>
class MyClass {
public $sVar = '';
function __construct(){
// doe de standaard dingen
}
public function jouw_functie($sString){
// voer deze public functie uit
}
private function andere_functie($iInteger){
// voer deze private functie uit
}
function __destruct(){
// doe de standaard dingen voordat je afsluit
}
}
?>
Edit: De class gaat niet werken, voert niks uit... Doet niets af aan de stomme fout, die nu richting prullenbak is vertrokken! ;)
Gewijzigd op 01/01/1970 01:00:00 door Frank -
gaat dat werken met haakjes?
En aangezien PHP geen "finally" kent voor het try blok moet je dus nog steeds zelf je rotzooi opruimen.
PHP regelt zelf wel het geheugen beheer voor zich zelf. Maar database verbindingen blijven wel open staan in dit geval en zo heb je toch onnodig verlies van resources.