Stel ik heb een class die een include-statement gebruikt, dan kan de hele pagina in de include-statement de $this-variabele gebruiken.
Ik vroeg me af of dit kwaad kan.

vb.:

-- home.php --
<?php
class home
{
public $var1, $var2, $var3, //...
public function __construct ($v)
{
$this->var1 = $var;
include "includeFile.php";
}
}
new home ('test');
?>

-- includeFile.php --
<?php
echo $this->var1; // outputs 'test', mits geïnclude...
?>

Ik vroeg me af of dit kwaad kon of niet. Kan ik deze functionaliteit gewoon gebruiken, of is dat af te raden?

Gr,
Mark L.
is het niet handiger om je include boven aan te zetten?
aangezien je hem altijd wil loaden
load de include boven aan je script ook

en het lijkt mijn beter om geen file te include maar die code te verwerken in je class

of is dit geen optie?
Het op deze manier includen sloopt eigenlijk je oo functionaliteit doordat niet meer duidelijk is waar iets gebeurt. Als je iets aan wilt passen kun je een class extenden.
Eehm, dit is enkel en alleen een voorbeeld. Dit is niet de reden waarom ik 't ga gebruiken.
Ik wil dit gaan gebruiken door waarden uit een 'nette URL' te halen:

url: mijnwebsite.nl/forum/dit-is-een-leuk-topic/pagina-3/

dan kom je standaard op een pagina waar een class staat die deze waarden uitleest.
Die zet 'dit-is-een-leuk-topic' in een variabele en 'pagina-3', en zal dan forum.php includen (wat uiteraard wel beveiligd is, zodat je niet elke pagina kan openen...)

Dan kun je d.m.v. $this->GET[0] de waarde 'dit-is-een-leuk-topic' krijgen enz.

In die eerstgeladen class maak ik dan ook de functie tot het outputten van de layout etc., dus word het eigenlijk een class die alles om de site heen regelt...

Dit kan ook anders, daarom vraag ik of het verstandig is...

Edit:
en alle belangrijke variabelen zet ik dan ook in de class zelf...
Mark L op 18/03/2011 12:17:16

... daarom vraag ik of het verstandig is...


Ik denk het niet, nee.

Geef eens een aantal (specifieke) voorbeelden van dingen die je gemakkelijker met een include denkt te regelen?

In (goed) OOP is includen in methoden de enige manier om dynamisch bestanden te laden. Ja, het kan dus prima en werkelijk elk OOP framework doet het zo. Vooral bij autoloading en ook bij views is het de enige mogelijkheid.

Reageren