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

77 lines
3.8 KiB
Markdown

# 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](img/cascading_filesystem.png)
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](using.autoloading) moeten zich hier
bevinden. Dit houdt in controllers, models, en alle andere classes. Alle classes moeten
de [class naam conventies](about.conventions#classes) volgen.
config/
: Configuratie bestanden geven een associatieve array van opties terug die je kunt
inladen via [Kohana::config]. Zie [gebruik van configuratie](using.configuration) 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](using.translation) 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](using.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](usings.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](http://code.google.com/p/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](http://github.com/shadowhand/pdfview) module.