class in class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kasper Heyndrickx

Kasper Heyndrickx

26/09/2009 20:52:00
Quote Anchor link
Hallo

In mijn website maar ik gebruik van een class error om mijn errorlogs te tonen. Nu heb ik nog een class om mijn pagina samen te stellen genaamd page. Nu heb ik een vraagje want ik heb gemerkt dat ik op mijn usbWebserver 7.0 deze methode, die ik later ga tonen, werkt maar op mijn andere computer waar ik xampp gebruik dit niet werkt. Allicht ligt dit aan de PHP version maar ik moet wel een antwoord vinden om dit op te lossen.

Ik zit in mijn class om mijn pagina samen te stellen en ik gebruik deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

class page{
  function
page(){
    error::add_error("test");
  }
}


?>


(dit is een verkorte versie waar het op staat)

en dan in mijn error class:

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
<?php

class error{
    static $melding = "";
    static $melding_echo = "";
    function
add_error($message_to_add){
        //echo isset($this->melding);
        if(!isset(errors::$melding)){
            errors::$melding = "";
        }

        errors::$melding .= $message_to_add.";";
    }
    
    function
show_error(){
      //echo $this->melding;
      if(isset(errors::$melding) and errors::$melding != ""){
      $errors = split(";", errors::$melding);
      for($a = 0; $a <= count($errors)-1; $a++){
    if(strip_tags($errors[$a]) != ""){
          errors::$melding_echo = errors::$melding_echo.$errors[$a]." ";
        }
      }
    
      echo errors::$melding_echo;
    }
  }


?>


ik gebruik bijvoorbeeld errors::$melding omdat ik al heb gemerkt als ik $this->melding bebruik dat ik fouten krijg omdat ik werk via andere classes.. (misschien kan er hier mij iemand mee helpen.. (1))

ik weet dat ik normaal deze code moet gebruiken om een class op te roepen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$error
= new error;

?>


maar moet ik dit dan over heel mijn code altijd opnieuw aan roepen? Of weet iemand andere opties voor mij? (2)

Mijn vragen kan je vinden in mijn tekst.

mvg Kasper
 
PHP hulp

PHP hulp

24/12/2024 17:23:06
 
Jan Koehoorn

Jan Koehoorn

26/09/2009 20:55:00
Quote Anchor link
Waarom werk je niet gewoon met Exceptions?
 
Kasper Heyndrickx

Kasper Heyndrickx

26/09/2009 21:00:00
Quote Anchor link
En als ik daar dan nog eens een forum aan koppel? ook met een class..
Hoe moet ik die dan aan roepen?

mvg kasper
 
Jan Koehoorn

Jan Koehoorn

26/09/2009 21:24:00
Quote Anchor link
Vind je dat nu zelf een duidelijke vraag?
 
Kasper Heyndrickx

Kasper Heyndrickx

26/09/2009 21:38:00
Quote Anchor link
Zoals ik al zei: Hoe moet ik een forum (class) aan roepen als ik het op die manier doe..
 
GaMer B

GaMer B

26/09/2009 22:06:00
Quote Anchor link
Wellicht moet je je toch maar eens verdiepen in Exceptions. Enne kijk ook even naar 'extends'.

class page extends Exceptions
of
class page extends error
 
Jan Willem van der Veer

Jan Willem van der Veer

26/09/2009 23:35:00
Quote Anchor link
Quote:
class page extends Exceptions
of
class page extends error
Waarom zou je een dergelijk geflikker willen hebben? Een pagina is geen error of exception. Hij kan hooguit een error of exception throwen.

In java:
public int page() throws Exception {
throw new Exception('Stommeling, je zorgde weer voor een situatie met een uitzondering');
}

Waarom zou je de class page moeten kunnen throwen? Lijkt mij dat de class zelf hooguit throwd (of hoe je het werkwoord ook moge verNederlandsen).
 
Jan Koehoorn

Jan Koehoorn

27/09/2009 11:13:00
Quote Anchor link
Offtopic:

throwt
De regel is: Engelse stam als Nederlandse stam verbuigen. Dus gewoon derde persoon enkelvoud tegenwoordige tijd ;-)
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 



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.