3.4.3 De configuratie klasse
Ondanks dat er weinig zaken geconfigureerd moeten worden in CakePHP is het soms handig om voor je applicatie je eigen configuratie regels te hebben. In het verleden heb je misschien eigen configuratie waarden gedefinieerd door variabelen of constanten te declareren in bepaalde bestanden. Door dit te doen was je verplicht om elke keer dat de waarden nodig waren het configuratiebestand te includen.
De nieuwe Configure klasse van CakePHP kan gebruikt worden voor het opslaan en lezen van applicatie- of runtime specifieke waarden. Wees voorzichtig, deze klasse staat je toe om er alles in op te slaan en het dan te gebruiken in elk ander deel van je code: dit is een zekere verleiding tot het breken met het MVC patroon waar CakePHP voor ontwikkeld is. Het hoofddoel van de Configure klasse is om variabelen die tussen vele objecten gedeeld worden centraal te bewaren. Onthoud dat je probeert te leven volgens het principe "conventie boven configuratie" en dat je niet eindigt met het verbreken van de MVC structuur die we op zijn plek hebben gezet.
Deze klasse werkt als een singleton en zijn methoden kunnen aangeroepen worden vanuit elke plek in je applicatie, in een statische context.
<?php Configure::read('debug'); ?>
<?php Configure::read('debug'); ?>
3.4.3.1 Methoden in Configure
3.4.3.1.1 write
write(string $key, mixed $value)
Gebruik write() om data op te slaan in de configuratie van de applicatie.
Configure::write('Company.name','Pizza, Inc.');
Configure::write('Company.slogan','Pizza for your body and soul');
Configure::write('Company.name','Pizza, Inc.');Configure::write('Company.slogan','Pizza for your body and soul');
het gebruik van de punt-notatie in de $key parameter. Je kunt deze notatie gebruiken om je configuratie in te delen in logische groepen.
Het bovenstaande voorbeeld kan ook in één aanroep geschreven worden:
Configure::write(
'Company',array('name'=>'Pizza, Inc.','slogan'=>'Pizza for your body and soul')
);
Configure::write('Company',array('name'=>'Pizza, Inc.','slogan'=>'Pizza for your body and soul'));
Je kunt Configure::write('debug', $int) gebruiken om te wisselen tussen de debug en de productie modus wanneer je maar wilt. Dit is vooral handig voor AMF of SOAP interacties waar debug informatie een probleem kan veroorzaken bij het parsen.
3.4.3.1.2 read
read(string $key = 'debug')
Gebruik read om configuratie gegevens van de applicatie te lezen. Standaard wordt CakePHP's belangrijke debug waarde geretourneerd. Als een sleutel is gespecificeerd, dan worden de betreffende gegevens geretourneerd. Wanneer we het bovenstaande voorbeeld van write() gebruiken, dan kunnen we die data als volgt terugleven:
Configure::read('Company.name'); //levert: 'Pizza, Inc.'
Configure::read('Company.slogan'); //levert: 'Pizza for your body and soul'
Configure::read('Company');
//levert:
array('name' => 'Pizza, Inc.', 'slogan' => 'Pizza for your body and soul');
Configure::read('Company.name'); //levert: 'Pizza, Inc.'Configure::read('Company.slogan'); //levert: 'Pizza for your body and soul'Configure::read('Company');//levert:array('name' => 'Pizza, Inc.', 'slogan' => 'Pizza for your body and soul');
3.4.3.1.3 delete
delete(string $key)
Wordt gebruikt om informatie te verwijderen uit de configuratie van de applicatie.
Configure::delete('Company.name');
Configure::delete('Company.name');
3.4.3.1.4 load
load(string $path)
Gebruik deze methode om configuratie informatie te laden uit een specifiek bestand.
// /app/config/messages.php:
<?php
$config['Company']['name'] = 'Pizza, Inc.';
$config['Company']['slogan'] = 'Pizza for your body and soul';
$config['Company']['phone'] = '555-55-55';
?>
<?php
Configure::load('messages');
Configure::read('Company.name');
?>
// /app/config/messages.php:<?php$config['Company']['name'] = 'Pizza, Inc.';$config['Company']['slogan'] = 'Pizza for your body and soul';$config['Company']['phone'] = '555-55-55';?><?phpConfigure::load('messages');Configure::read('Company.name');?>
merk op dat ieder key-value is gerepresenteerd in het bestand met de $config array. Elke andere variabele in dat bestand wordt genegeerd door de load() functie.
3.4.3.1.5 version
version()
Retourneert de CakePHP versie voor de huidige applicatie.
3.4.3.2 CakePHP kern configuratie variabelen
De originele tekst van deze rubriek is gewijzigd nadat deze is vertaald. Help om dit verschil op te lossen. Je kunt:
De Configure klasse wordt gebruikt om een set van kern CakePHP configuratie variabelen te beheren. Deze variabelen kunnen worden gevonden in app/config.core.php. Hieronder staat een beschrijving van elke variabele en hoe deze je CakePHP applicatie beïnvloedt.
| Configure variabele | Beschrijving |
|---|---|
| debug |
Verandert de CakePHP debug output. 0 = Productie mode. Geen output. 1 = Toon fouten en waarschuwingen. 2 = Toon fouten, waarschuwingen en SQL. 3 = Toon fouten, waarschuwingen, SQL en een overzicht van alle controller variabelen. |
| App.baseUrl | Verwijder het commentaar voor deze definitie als je niet van plan bent om Apache's mod_rewrite te gebruiken met CakePHP. Vergeet niet om ook je .htaccess bestanden te verwijderen. |
| Routing.admin | Verwijder het commentaar voor deze definitie als je gebruik wilt maken van de voordelen van CakePHP's admin routes. Geef deze variabele de naam van de admin route die je wilt gebruiken. Meer over dit onderwerp komt later. |
| Cache.disable | Wanneer deze variabele true is, dan is caching op de hele website uitgeschakeld. |
| Cache.check | Wanneer deze variabele true is, dan is caching van views ingeschakeld. Het is dan nog steeds nodig om de caching aan te zetten in de controllers, maar deze variabele schakelt de detectie van die instellingen in. |
| Session.save |
Vertelt CakePHP welk mechanisme te gebruiken voor het opslaan van sessies. php = Gebruik de standaard PHP sessie opslag. cake = Sla de sessie gegevens op in /app/tmp database = Sla de sessie gegevens op in een database tabel. Wees er zeker van dat je de tabellen aanmaakt met het SQL bestand dat zich bevindt in /app/config/sql/sessions.sql. |
| Session.table | De naam van de tabel (zonder prefix) die de sessie informatie bevat. |
| Session.database | De naam van de database die de sessie informatie bevat. |
| Session.cookie | De naam van de cookie die gebruikt wordt om sessies te volgen. |
| Session.timeout | Basis sessie timeout in seconden. De werkelijke waarde hangt af van Security.level. |
| Session.start | Start de sessie automatisch wanneer de waarde true is. |
| Session.checkAgent | Wanneer de waarde false is, zullen de CakePHP sessies niet controlleren of de user agent verandert tussen requests. |
| Security.level |
Het niveau van beveiliging in CakePHP. De sessie timeout tijd, die is gedefinieerd in 'Session.timeout', wordt vermenigvuldigt volgens de instellingen hier. Geldige waarden: 'high' = x 10 'medium' = x 100 'low' = x 300 'high' en 'medium' maken ook session.referer_check mogelijk |
| Security.salt | Een willekeurige tekenreeks die gebruikt wordt voor security hashing. |
| Acl.classname, Acl.database | Constanten die worden gebruikt voor CakePHP's Access Control List functionaliteit. Meer informatie is te vinden in het hoofdstuk over Access Control Lists. |
Cache configuratie is ook te vinden in core.php — Dit zal later worden behandelt, dus houd deze pagina in de gaten.
De Configure klasse kan gebruikt worden om kern configuratie instellingen te wijzigen wanneer je dat wilt. Dit kan bijvoorbeeld vooral handig zijn als je debug instellingen aan wilt zetten voor een bepaald stuk logica in je applicatie.
3.4.3.3 Configuration Constants
Er is geen nog vertaling vertaling voor deze rubriek. Help ons en vertaal dit.. Meer informatie over vertalingen
While most configuration options are handled by Configure, there are a few constants that CakePHP uses during runtime.
| Constant | Description |
|---|---|
| LOG_ERROR | Error constant. Used for differentiating error logging and debugging. Currently PHP supports LOG_DEBUG. |


























