This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/includes/kohana/modules/userguide/guide/nl/using.configuration.md
2011-05-03 09:49:01 +10:00

3.7 KiB
Raw Blame History

Algemene Configuratie

Kohana gebruikt zowel static properties als bestanden worden gebruikt voor de configuratie. Static properties zijn worden meestal gebruikt voor static classes, zoals [Cookie], [Security] en [Upload]. Bestanden worden meestal gebruikt voor objecten zoals [Database], [Encrypt] en [Session].

Static properties kunnen ingesteld worden in APPPATH/bootstrap.php of door class uitbreding. Het voordeel van static properties is dat er geen extra bestanden moeten worden ingeladen. Het probleem met deze methode is dat de class ingeladen word wanneer een property is ingesteld, als je geen uitbreiding gebruikt. Echter, met gebruik van uitbreidingen worden uitbreidingen uit modules overladen. Het is aanbevolen om static property te gebruiken voor configuraties in de bootstrap.

[!!] Wanneer je opcode caching gebruikt, zoals APC of eAccelerator, dan is het inladen van classes merkbaar vermindert. Het is dan ook streng aanbevolen om opcode caching te bruiken bij elke website in productie, of die nu groot of klein is.

Noodzakelijke instellingen

Bij iedere nieuwe Kohana installatie is het vereist om de [Kohana::init] instellingen aan te passen in APPPATH/bootstrap.php. Iedere instelling die niet specifiek is ingesteld zal de standaard instelling gebruiken. Deze instellingen kunnen aangeroepen worden en/of aangepast worden op een later tijdstip door de static property van de [Kohana] class te gebruiken. Bijvoorbeeld, om de huidige karakterset te verkrijgen lees je de [Kohana::$charset] property in.

Veiligheids instellingen

Er zijn verschillende instellingen dat je moet veranden om Kohana veilig te maken. De belangrijkste is [Cookie::$salt], deze wordt gebruikt om een "handtekening" te maken op cookies zodat ze niet kunnen worden aangepast van buiten Kohana.

Als je de [Encrypt] class wilt gebruiken, maak je best ook een encrypt configuratie bestand en stel je een encryption key in. Deze key bevat best letters, nummers en symbolen om de veiligheid te optimaliseren.

[!!] Gebruik geen hash als encryption key! Indien je dit doet zal de encryption key gemakkelijker te kraken zijn.

Configuratie bestanden

Configuratie bestanden zijn licht anders dan andere bestanden in het cascading bestandssyteem. Configuratie bestanden worden gemerged in plaats van overladen. Dit wil zeggen dat alle configuratie bestanden hetzelfde path worden gecombineerd om <20><> configuratie te vormen. Wat wil zeggen dat je individuele instellingen kan overladen in plaats van een volledig bestand te dupliceren.

Configuratie bestanden zijn pure PHP bestanden, opgeslaan in de config/ folder, die een associatieve array teruggeven:

<?php defined('SYSPATH') or die('No direct script access.');

return array(
    'setting' => 'value',
    'options' => array(
        'foo' => 'bar',
    ),
);

Als het bovenstaande bestand myconf.php werd genoemd, dan kon je deze benaderen via:

$config = Kohana::config('myconf');
$options = $config['options'];

[Kohana::config] biedt ook een shortcut om individuele keys van configuratie arrays te benaderen door gebruik te maken van "dot paths".

Verkrijg de "options" array:

$options = Kohana::config('myconf.options');

Verkrijg de "foo" key van de "options" array:

$foo = Kohana::config('myconf.options.foo');

Configuratie arrays kunnen ook worden benaderd als objecten, indien je deze manier wilt gebruiken:

$options = Kohana::config('myconf')->options;

Let wel, je kan enkel keys op het bovenste niveau aanspreken als object properties, alle lagere keys moeten benaderd worden via de standaard array syntax:

$foo = Kohana::config('myconf')->options['foo'];