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/about.filesystem.md
2011-05-03 09:49:01 +10:00

3.8 KiB

Cascading Filesystem

Het Kohana filesysteem heeft hiërarchie van folder-structuur. Wanneer een bestand wordt ingeladen door [Kohana::find_file], dan wordt het gezocht in de volgend volgorde:

Application pad
Gedefineerd als APPPATH in index.php. De standaard value hiervan is application.
Module paden
Dit is ingesteld als een associatieve array met behulp van [Kohana::modules] in APPPATH/bootstrap.php. Elk van de waarden van de array zal worden gezocht in de volgorde waarin de modules worden toegevoegd.
System pad
Gedefineerd als SYSPATH in index.php. De standaard value hiervan is system. Alle belangrijkste of "core"-bestanden en classes zijn hier gedefinieerd.

Bestanden die zich hoger bevinden in de volgorde van het inladen van bestanden hebben voorrang op bestanden met dezelfde naam die zich lager bevinden in de volgorde van inladen, dit maakt het mogelijk om ieder bestand te overloaden door een bestand met dezelfde naam in een "hogere" folder te plaatsen:

Cascading Filesystem Infographic

Als je een view bestand hebt met de naam welcome.php in de APPPATH/views en SYSPATH/views folders, dan zal hetgeen uit application worden gereturned als welcome.php wordt ingeladen omdat het "hoger" staat in de folderstructuur.

Types bestanden

De top level folders van de application, module en systeem paden hebben volgende standaard folders:

classes/
Alle classes dat je wilt automatisch inladen moeten zich hier bevinden. Dit houdt in controllers, models, en alle andere classes. Alle classes moeten de class naam conventies volgen.
config/
Configuratie bestanden geven een associatieve array van opties terug die je kunt inladen via [Kohana::config]. Zie gebruik van configuratie voor meer informatie.
i18n/
Vertalingsbestanden geven een associatieve array van strings terug. Vertalen wordt gedaan door de __() methode te gebruiken. Om "Hello, world!" te vertalen in het Spaans zou je de methode __('Hello, world!') oproepen met [I18n::$lang] ingesteld op "es-es". Zie gebruik van vertaling voor meer informatie.
messages/
Berichtenbestanden geven een associatieve array van strings terug die ingeladen kunnen worden via [Kohana::message]. Messages en i18n bestanden verschillen erin dat messages niet worden vertaald, maar altijd geschreven worden in de standaard taal en verwezen worden via een enkelvoudige key. Zie gebruik van messages voor meer informatie.
views/
Views zijn plain PHP files die worden gebruikt om HTML of een ander formaat te genereren. Het view bestand wordt ingeladen in in een [View] object en toegewezen variabelen, die het dan zal omzetten naar een HTML fractie. Het is mogelijk om meerder views in elkaar te gebruiken. Zie gebruik van views voor meer informatie.

Vinden van betanden

Het pad naar eender welk bestand in de folderstructuur kan worden gevonden door het gebruik van [Kohana::find_file]:

// Vind het volledige pad naar "classes/cookie.php"
$path = Kohana::find_file('classes', 'cookie');

// Vind het volledige pad naar "views/user/login.php"
$path = Kohana::find_file('views', 'user/login');

Vendor Extensions

Extensies die niet specifiek zijn aan Kohana noemen we "vendor" extensions. Bijvoorbeeld, als je DOMPDF wilt gebruiken, dan moet je het kopiëren naar application/vendor/dompdf en de DOMPDF autoloading class inladen:

require Kohana::find_file('vendor', 'dompdf/dompdf/dompdf_config.inc');

Nu kan je DOMPDF gebruiken zonder inladen van andere bestanden:

$pdf = new DOMPDF;

[!!] Indien je views wilt omzetten in PDFs via DOMPDF, probeer dan de PDFView module.