Hallo

Ik ben bezig geweest met OOP (voor de config), voor het uit te proberen. Maar het werkt niet, het geeft geen errors...


<?php
$__error_reporting_level=1;
$_CONFIG = parse_ini_file($_SERVER["DOCUMENT_ROOT"] . '/../datafile.ini', true);

$hostnaam = $_CONFIG['hostnaam'];
$gebruikersnaam = $_CONFIG['gebruikersnaam'];
$wachtwoord = $_CONFIG['wachtwoord'];
$database = $_CONFIG['database'];

define('HOSTNAAM', $hostnaam);
define('GEBRUIKERSNAAM', $gebruikersnaam);
define('WACHTWOORD', $wachtwoord);
define('DATABASE', $database); 

error_reporting($__error_reporting_level);

class sql
{
	 protected $hostnaam = HOSTNAAM;
	 protected $gebruikersnaam = GEBRUIKERSNAAM;
	 protected $wachtwoord = WACHTWOORD;
	 protected $database = DATABASE;
	 private function connect()
	 {
		 $connections = mysql_connect($this->hostnaam, $this->gebruikersnaam, $this->wachtwoord) or die ('Unabale to connect to the database');
		 mysql_select_db($this->database) or die ('Unable to select database!');
		 return;
	 }
}
?>


index.php (STUKJE)

// IMPORTEER DE BENODIGE CODE \\
include $_SERVER["DOCUMENT_ROOT"] . '/paneel/assets/include/init.php';
include $_SERVER["DOCUMENT_ROOT"] . '/paneel/assets/include/functions.php';

$obj = new sql;
- Rob - op 05/01/2017 13:11:37
Ehmm kunt u dit nog een keer maar dan anders voor mij uitleggen? Of een linkje sturen met uitleg

voorbeeld
Het heeft trouwens weinig zin om constanten te declareren voor $_CONFIG variabelen, gebruik dan rechtstreeks $_CONFIG.

<?php
class Database extends mysqli
{
function query($query)
{
$result = parent::query($query);
if($this->error) {
throw new Exception(mysqli_error($this), mysqli_errno($this));
}
return $result;
}
}
?>

Hoe stuur ik deze functie dan aan? En hoe zet ik de query (bv. "SELECT * FROM test") erin?
Misschien is dit een goed moment om even door een basistutorial OOP heen te lopen.
Begin dan bij voorkeur hier:
http://www.phptuts.nl/view/45/1/

En begin gewoon met basis dingen, zoals een "Hello World" met variabelen erin die je in class en je methods aanroept. Extenden ligt nog iets te ver weg.
Harstikke bedankt! Ik heb nu zelfs een onderhoud class kunnen maken waar ik eerst altijd moeite mee had :D

[size=xsmall]Toevoeging op 05/01/2017 14:15:28:[/size]

Toch even voor te checken of ik het goed heb gedaan:

<?php
class SiteStatus
{	
	protected $maintanceModus       = ONDERHOUD;
	protected $maintenanceGlobal    = ONDERHOUD_OVERAL;
	protected $maintenanceLocations = array("index");
	protected $maintenanceMessage   = 'Onderhoud modus.'; 
	
	public function inMaintenance($currentLocation)
	{
		if ($this->maintanceModus == "true")
		{
			if ($this->maintenanceGlobal == "false")
			{
				if (in_array($currentLocation, $this->maintenanceLocations))
				{
					die($this->maintenanceMessage);
				}
			}
			else
			{
				die($this->maintenanceMessage);
			}
		}
	}
}

?>

//**-----------------------------------------------------------------------------------------------------------------
INDEX FILE 
**\\-----------------------------------------------------------------------------------------------------------------

define('ONDERHOUD', $_CONFIG['onderhoud']);
define('ONDERHOUD_OVERAL', $_CONFIG['onderhoud_overal']);

$siteStatus   = new SiteStatus(ONDERHOUD, ONDERHOUD_OVERAL);
$siteStatus->inMaintenance("index");

Hopelijk klopt het :P

[size=xsmall]Toevoeging op 05/01/2017 14:34:24:[/size]

:D

Reageren