Wat is beter?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koko

koko

05/03/2007 20:32:00
Quote Anchor link
Hoi,

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)
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
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,

...


?>


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
 
PHP hulp

PHP hulp

24/11/2024 09:14:00
 
Danny K

Danny K

05/03/2007 20:36:00
Quote Anchor link
Misschien is dit een goed artikel voor jou! Klik!
 
Willem-Aart

Willem-Aart

13/03/2007 22:21:00
Quote Anchor link
Ik zie dat je een functie maakt die dezelfde naam als je class heeft, dus ik neem aan dat je met PHP4 werkt ?

Mocht het zijn dat je met PHP5 werkt, raad ik je aan om __construct te gebruiken.
 
Koko

koko

13/03/2007 22:27:00
Quote Anchor link
Mja, ik werk dus met PHP5

Alleen heb k nog nooit gewerkt met die __construct... das t probleem.
 
Willem-Aart

Willem-Aart

13/03/2007 22:28:00
Quote Anchor link
Doet precies hetzelfde als de functie useredit() nu doet. Koop het boek "PHP5 Power Programming" maar eens, dat is echt een openbaring.

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
 
Koko

koko

13/03/2007 22:30:00
Quote Anchor link
dank je voor de tip!

Hopelijk is t boek te vinden bij de Standaard boekhandel :p (waar anders?)
 
Willem-Aart

Willem-Aart

13/03/2007 22:33:00
Quote Anchor link
bol.com
Gewijzigd op 01/01/1970 01:00:00 door Willem-Aart
 
Frank -

Frank -

13/03/2007 22:35:00
Quote Anchor link
Dat is niet zo moeilijk, met __construct doe je de standaard dingen die je altijd nodig hebt wanneer je een object aanmaakt en met __destruct de standaard dingen wanneer je een object verwijderd.

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)
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
<?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
  }
}

?>


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 -
 
Rudie dirkx

rudie dirkx

14/03/2007 09:05:00
Quote Anchor link
class MyClass (){

gaat dat werken met haakjes?
 
Danny K

Danny K

14/03/2007 09:33:00
Quote Anchor link
Als ik even terug kom op wat Frank zegt: maar als je later ook met een Try-Catch gaat werken en er wordt een exception gethrowd of geraised dan wordt volgens mij de destruct niet meer uitgevoerd.
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.
 



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.