Pagina 1 van 1

Gebruik van Objecten in PhPbb

Geplaatst: 25 sep 2014, 19:02
door vraagbaak
Dag mensen,

Ik probeer PHPbb uit en wilde kijken in hoeverre ik eigen php code kan toevoegen aan views. Nu lukt het mij om in een view een php pagina te includen via:

Code: Selecteer alles

<!-- INCLUDEPHP ./testje123.php -->
En simpele dingen als echo 'hello world!'; gaan goed dus dat werkt.

Wat ik echter niet voor elkaar is het gebruik van bijvoorbeeld objecten zoals $user.
Ik zie dat index.php en dergelijken allen common.php inladen en een obect $user aanmaken.

Code: Selecteer alles

// Instantiate some basic classes
$user		= new user();
$auth		= new auth();
$template	= new template();
$cache		= new cache();
$db			= new $sql_db();
Echter als ik iets simpels doe als var_dump($user); zegt het systeem dat de variabele niet bestaat. (wordt die ge-unset?)

Ik kan natuurlijk een nieuwe instance maken, maar dat komt mij niet zuiver over. Ik wil de data die het systeem al gebruik hergebruiken. Heeft iemand een idee wat een goed startpunt is om dit te doen. Ik werk meestal met systemen als joomla en daar is dit hergebruik geen enkel probleem.

ALs iemand iets weet of meer info heeft, dan hoor ik het graag.
Thanks!

Re: Gebruik van Objecten in PhPbb

Geplaatst: 25 sep 2014, 22:21
door John P
Nooit op die manier gedaan.
Ligt er ook wat je doet in je testje123.php.

Re: Gebruik van Objecten in PhPbb

Geplaatst: 26 sep 2014, 18:39
door Paul
Heb je $user wel globalised? Anders gaat het niet werken vanuit de template.

Re: Gebruik van Objecten in PhPbb

Geplaatst: 26 sep 2014, 19:14
door vraagbaak
Ha Paul,

Ik weet niet precies wat je met globalized bedoelt in deze context. Kun je een voorbeeld geven?

Waar het mij omgaat is dat ik het object $user wil gebruiken in testje123.php en testje123.php vervolgens kan includen in de bijvoorbeeld index.html. ($user kan ik wel in index.php gebruiken, maar kennelijk niet in de view)

Om het anders te zeggen. in index.php wordt een instance gecreëerd van $user via common.php. Ik ga er dan dus vanuit dat het object $user beschikbaar is in lager gelegen delen in het script. Dus ook zodra de template wordt ingeladen. Omdat ik mijn logic wil scheiden van de view bijvoorbeeld van index.html leek het me in dat kader slim om een apart php. bestandje te maken (waarin ik bijvoorbeeld wat data gebruik van $user) om vervolgens die data in de template te gebruiken. Verheldert dit wellicht de vraag?

Dank voor je/jullie tijd en de snelle reactie!

Voor het gemak heb ik een plaatje waaruit visueel blijkt wat ik probeer
Afbeelding

Re: Gebruik van Objecten in PhPbb

Geplaatst: 26 sep 2014, 22:06
door John P
testje123.php

Code: Selecteer alles

function testje123()
{
    global $user;
    return $user->data['username'];
}

echo testje123(); 
als voorbeeldje

Re: Gebruik van Objecten in PhPbb

Geplaatst: 26 sep 2014, 23:35
door vraagbaak
Dank je John,

Ik ga het eens uitproberen