include in een class

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
Ik wil een file in een class binnen halen om zo variabelen op een plaats op te slaan
maar als ik dit doe
PHP:
<?PHP
class get_thread {
	// private vars
	include('config.php');
	private $connection = false;

Dan krijg ik de volgende fout melding
Code:
Parse error: syntax error, unexpected T_INCLUDE, expecting T_FUNCTION in C:\Users\Phobia\Desktop\Judo\forum\class\get_thread.php on line 4

mijn config.php is dit
PHP:
<?PHP

	private $db    = "*********";
	// login live site
	
	//private $user  = "********";
	//private $pass  = "************";
	
	// login localhost testserver
	
	private $user = "************";	
	private $pass = "********";

?>

wat doe ik fout? Of kan wat ik wil uberhaupt niet binnen een class?
 
Ik vraag me af... was het niet zo dat je alleen kon includen in een class als dat binnen een functie is, en niet binnen de class zelf?
 
Als je het zo wilt doen moet je een config-class maken en die aanroepen binnen de get_thread-class.

config.cls.php
PHP:
class Config {
  public $db = "";
  public $user ="";
}
PHP:
require_once('config.cls.php');
class get_thread {
  public function __construct() {
    $oConfig = new Config();
    echo $oConfig->db;
  }
}
 
Ik zal het eens proberen binnen de __construct, is ook een functie maar wordt automatische uitgevoerd bij het gebruiken van de class.

als ik me niet sterk vergis
 
okey, incluce in een class moet dus binnen een functie of de __construct
 
Nee, verstandiger is includes (of in het geval van klasses "require") bovenaan te zetten.

Als je dan een klasse nodig hebt roep je die aan via "new Class()".
 
Je mag alleen code uitvoeren binnen functions in een class. Include telt ook als code, ondanks dat het weinig anders doet dan de inhoud van een andere file erin plakken.

Daarom mag je ook niet halverwege een if bijv. een include doen( dus dit mag niet )

PHP:
if ( $abc ) {
  include "def.php";

Ook niet als "def.php" de } bevat om de if af te sluiten.

Gewoon iets om rekening mee te houden :P
 
get_thread klinkt trouwens meer als een method dan als een class.
 
hoezo, zou jij het liever zo zien? GetThread
Ik ben home made en hou me niet bezig met name-confentions. Als ik maar snap wat wat is.
 
Nee, daar gaat het niet om. Get_thread is überhaupt geen naam van een class, maar van een method binnen een class. Een class 'thread' bijvoorbeeld.
 
okey, snap wat je bedoeld. aangezien in de class threads ophaal en verwerk en update. De naam van de class moet vertellen wat het is, en de method naam vertel wat hij doet

class naam => user

method login_user

method validate_user

op deze manier!
 
Zoiets ja, maar classes gebruiken heeft geen enkele meerwaarde als je niet begrijpt waarom je dat doet hè.
 
Als ie threads ophaalt en bewerkt zou ik em eerder ThreadHandler of ThreadEditor noemen, maar dat terzijde :P
 
Alleen heeft een Handler in veel frameworks/patterns een ander doel en is een class voor alleen het editen (dus niet ophalen en verwijderen) ook een beetje gek. ;)
 
Hm aparte Editor classes heb ik wel eerder gezien hoor. Maar goed ik heb geen formele opleiding dus misschien dat degene die me dat heeft laten zien zelf ook apart was ;P

Binnen Frameworks zijn Handlers inderdaad vaak wat anders. Ik zou ws de gedachte achter de class moeten zien om een goed voorstel te kunnen doen :P
 
Het gebruik van classes doe ik ook verkeerd, gebruik het nu eigenlijk als een soort function-holder.
Maar begin een beetje in te zien waar de krahten van classes liggen.
Ik ben eigenlijk ook nog niet een goede tut tegen gekomen waar het echt duidelijk uit een gezet wordt.
Als gaat van class hond, method vacht, kleur, ras
Dit is zo abstract.

Ik zoek eigenlijk een video tut die het duidelijk maakt.
Waar ze het duidelijk vertellen en laten zien hoe je het functioneel kunt toepassen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan