Mijn class structuur

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jelle Posthuma

Jelle Posthuma

28/06/2010 00:08:48
Quote Anchor link
Goedenavond mensen,

Ik ben bezig met bepaalde classes aan het inrichten, maar kom er even niet uit.

Ik heb 1 hoofd 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
<?php
class rootClass{
  // Subclasses definieren
  public static $subClassEen;
  public static $subClassTwee;
  // Classes opbouwen
  public function __construct(){
    require( '/class/subClassEen.php' );
    $this->subClassEen = new subClassEen;
    require( '/class/subClassTwee.php' );
    $this->subClassTwee = new subClassTwee;
  }
}

?>


En bijvoorbeeld 2 sub classes

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
class SubClassEen extends rootClass{
  
}

class SubClassTwee extends rootClass{
  
}

?>


Maar hoe kan ik de structuur het beste inrichten, zodat ik het volgende kan gebruiken:

Ergens bovenin '/index.php'
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$rootClass
= new rootClass;
?>


Vervolgens wil ik bijvoorbeeld BINNEN 'subClassTwee' naar een functie toe binnen 'subClassEen' waarvoor ik dan bijvoorbeeld het volgende zou moeten kunnen doen:

Ergens binnen '/class/subClassTwee.php'
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo RootClass::$SubClassEen->FunctieNaam();
?>


Let op: Dit is een script even zo samen gesteld, deze gebruik ik niet op het moment, maar ik heb het soortgelijk gemaakt, maar dan kon ik van de ene subclass niet een functie aanroepen binnen de andere subclass!

De error die ik dan krijg:

Quote:
Fatal error: Call to a member function FunctieNaam() on a non-object in /class/subClassTwee.php on line 2
 
PHP hulp

PHP hulp

24/12/2024 06:49:41
 
SilverWolf NL

SilverWolf NL

28/06/2010 00:12:46
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?PHP
  public function __construct(){
    require( '/class/subClassEen.php' );
    $this->subClassEen = new subClassEen;
    require( '/class/subClassTwee.php' );
    $this->subClassTwee = new subClassTwee;
  }

?>


Moet worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?PHP
  public function __construct(){
    require( '/class/subClassEen.php' );
    self::$subClassEen = new subClassEen;
    require( '/class/subClassTwee.php' );
    self::$subClassTwee = new subClassTwee;
  }

?>
 
Jelle Posthuma

Jelle Posthuma

28/06/2010 00:19:21
Quote Anchor link
Dank je, was ik even vergeten.
(2 dagen in de weer zonder slaap, gaat eventjes stroef ;))

Heb het nu weer werkend.
Thanks.
 
TJVB tvb

TJVB tvb

28/06/2010 08:56:46
Quote Anchor link
Waarom maak je die subclasses aan in je hoofd class? Zo zijn ze geheel aan elkaar verbonden.
Verder is het onlogisch dat je in de __construct je statische variabelen zet.
 



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.