Flight nodrošina pamata sagatavošanas funkcionalitāti pēc noklusējuma.
Flight
Ja jums ir nepieciešama sarežģītāka sagatavošanas vajadzība, skatiet Smarty un Latte piemērus sadaļā Pielāgoti skati.
Lai parādītu skata sagatavi, izsauciet render metodi ar sagataves faila nosaukumu un neobligātu sagataves datu:
render
Flight::render('hello.php', ['name' => 'Bob']);
Sagataves dati, ko jūs padodat, automātiski tiek ievietoti sagatavē un var tikt atsaukti kā lokāla mainīgā. Sagataves faili vienkārši ir PHP faili. Ja hello.php sagataves faila saturs ir:
hello.php
Sveiki, <?= $name ?>!
Izvade būs:
Sveiki, Bob!
Jūs varat arī manuāli iestatīt skata mainīgos, izmantojot set metodi:
Flight::view()->set('name', 'Bob');
Tagad mainīgais name ir pieejams visos jūsu skatos. Tādējādi jūs vienkārši varat izdarīt:
name
Flight::render('hello');
Jāpiebilst, ka, norādot sagataves nosaukumu render metodē, jūs varat izlaist .php paplašinājumu.
.php
Pēc noklusējuma Flight meklē views direktoriju sagatavošanas failiem. Jūs varat iestatīt alternatīvu ceļu savām sagatavēm, iestatot sekojošo konfigurāciju:
views
Flight::set('flight.views.path', '/ceļš/uz/skatiem');
Ir parasts, ka tīmekļa vietnēm ir viens izkārtojuma sagataves fails ar mainīgu saturu. Lai atveidotu saturu, kas tiks izmantots izkārtojumā, varat padot neobligātu parametru render metodē.
Flight::render('header', ['heading' => 'Sveiki'], 'headerContent'); Flight::render('body', ['body' => 'Pasaulē'], 'bodyContent');
Tad jūsu skatās būs saglabāti mainīgie ar nosaukumiem headerContent un bodyContent. Jūs varat atveidot savu izkārtojumu, darot:
headerContent
bodyContent
Flight::render('layout', ['title' => 'Mājas lapā']);
Ja sagataves faili izskatās šādi:
header.php:
header.php
<h1><?= $heading ?></h1>
body.php:
body.php
<div><?= $body ?></div>
layout.php:
layout.php
<html> <head> <title><?= $title ?></title> </head> <body> <?= $headerContent ?> <?= $bodyContent ?> </body> </html>
Izvade būtu:
<html> <head> <title>Mājas lapā</title> </head> <body> <h1>Sveiki</h1> <div>Pasaulē</div> </body> </html>
Flight ļauj jums vienkārši nomainīt noklusēto skata dzinēju, vienkārši reģistrējot savu skata klasi.
Šeit ir kā jūs varētu izmantot Smarty sagatavošanas dzinēju savos skatos:
// Ielādēt Smarty bibliotēku require './Smarty/libs/Smarty.class.php'; // Reģistrēt Smarty kā skata klasi // Tāpat nododot atsauces funkciju, lai konfigurētu Smarty ielādes laikā Flight::register('view', Smarty::class, [], function (Smarty $smarty) { $smarty->setTemplateDir('./templates/'); $smarty->setCompileDir('./templates_c/'); $smarty->setConfigDir('./config/'); $smarty->setCacheDir('./cache/'); }); // Piešķirt sagataves datus Flight::view()->assign('name', 'Bob'); // Rādīt sagatavi Flight::view()->display('hello.tpl');
Lai būtu pilnīgas, jums vajadzētu pārrakstīt arī Flight noklusēto render metodi:
Flight::map('render', function(string $template, array $data): void { Flight::view()->assign($data); Flight::view()->display($template); });
Šeit ir kā jūs varētu izmantot Latte sagatavošanas dzinēju savos skatos:
// Reģistrēt Latte kā skata klasi // Tāpat nododot atsauces funkciju, lai konfigurētu Latte ielādes laikā Flight::register('view', Latte\Engine::class, [], function (Latte\Engine $latte) { // Šeit Latte saglabās jūsu sagataves, lai paātrinātu lietas // Viens īpaši labs Latte aspekts ir tas, ka tas automātiski atjauno jūsu // kešatmiņu, kad jūs veicat izmaiņas savās sagatavēs! $latte->setTempDirectory(__DIR__ . '/../cache/'); // Paziņojiet Latte, kur būs jūsu skatu saknes direktorijs. $latte->setLoader(new \Latte\Loaders\FileLoader(__DIR__ . '/../views/')); }); // Un iesaiņojiet to, lai jūs varētu pareizi izmantot Flight::render() Flight::map('render', function(string $template, array $data): void { // Tas ir kā $latte_engine->render($template, $data); echo Flight::view()->render($template, $data); });