Avatar billede Bjarne Novice
21. december 2006 - 15:56 Der er 6 kommentarer og
1 løsning

Bruge et objekt indenfor en klasse

Jeg vil gerne oprette et objekt af en klasse indenfor en anden klasse. Men jeg kan ikke helt gennemskue, hvordan man gør.

Ex.:

class foo {
  private $object;

  function __construct() {
    $object = new bar;
  }
}

Jeg har hver enkel klasse i hver sin fil og bruger autoload. Når jeg gør det som vist ovenfor, får jeg fejl: Fatal error: Call to a member function something() on a non-object in ...
Avatar billede Slettet bruger
21. december 2006 - 19:12 #1
Tror ikke din forklaring helt går i hug... tror følgende er hvad du prøver at få til at virke.

Eksempel 1:
<?php
$foo = new foo;
$foo->bar();
class bar
{
  function something()
  {
      echo 'something';
  }
}

class foo {
  private $object;

  function __construct() {
    $object = new bar;
  }

  function bar()
  {
    $this->object->something();
  }
}
?>
Avatar billede Slettet bruger
21. december 2006 - 19:13 #2
ovenstående var ment som et svar!
Avatar billede Bjarne Novice
21. december 2006 - 22:41 #3
Jeg beklager, at min forklaring ikke er så præcis. Men jeg tror du forstod, hvad det er jeg vil. Imidlertid giver dit kode-eksempel samme fejl:
Fatal error: Call to a member function something() on a non-object in C:\htdocs\cls_test.php on line 21
Avatar billede Slettet bruger
21. december 2006 - 23:00 #4
Indholdet af de først 25 linier af C:\htdocs\cls_test.php kunne godt tænkes at være brugbare!?
Avatar billede Bjarne Novice
21. december 2006 - 23:25 #5
cls_test.php indeholder dit eksempel. Linje 21 er $this->object->something();
Avatar billede Slettet bruger
22. december 2006 - 09:06 #6
$object = new bar;
Skulle saa vaere:
$this->object = new bar;
Avatar billede Bjarne Novice
22. december 2006 - 14:18 #7
selvfølgelig.. tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging