Tvorba jednoduchého webu pomocí frameworku Slim a šablon Twig 1. díl instalace a počateční nastavení
- Tvorba jednoduchého webu pomocí frameworku Slim a šablon Twig 1. díl instalace a počateční nastavení
- Tvorba jednoduchého webu pomocí frameworku Slim a šablon Twig 2. díl přidáme si Bootstrap a použijeme šablony Twig
- Tvorba jednoduchého webu pomocí frameworku Slim a šablon Twig 3. díl odesílání kontaktního formuláře pomocí Swiftmaileru
Tvorbu webu pomocí frameworku Slim a šablon Twig začneme instalací pomocí composeru.
V adresáři, kde web tvoříme nainstalujeme základní komponenty
1 2 3 |
composer require slim/slim composer require slim/views composer require twig/twig |
První příkaz nainstaluje samotný framewrok Slim, druhý příkaz pak podporu pro použití Twig nebo Smarty a nakonec samotný šablonovací systém Twig.
composer.json bude pak vypadat nějak takto
1 2 3 4 5 6 7 |
{ "require": { "slim/slim": "^2.6", "slim/views": "^0.1.3", "twig/twig": "^1.20" } } |
a vytvoříme autoload
1 |
composer dump-autoload |
takže v podaresáři vendor máme jednak potřebné knihovny a také autoload soubor. nyní si vytvoříme vlastní strukturu webu.
Vytvořímesi adresář public do kterého nasměrujeme document root webu a v něm si vytvoříme .htaccess s obsahem
1 2 3 |
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L] |
a index.php s obsahem
1 2 3 4 5 |
<?php require '../app/start.php'; $app->run(); |
Všechny zdrojové kódy budou uloženy ve složce app a nyní si tedy vytvoříme soubor start.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php use Slim\Slim; use Slim\Views\Twig; use Slim\Views\TwigExtension; ini_set('display_errors', 'On'); define('INC_ROOT', dirname(__DIR__)); require INC_ROOT . '/vendor/autoload.php'; $app = new Slim([ 'view' => new Twig(), 'templates.path' => INC_ROOT . '/app/views' ]); require 'routes.php'; $view = $app->view(); $view->parserOptions = [ 'debug' => true ]; $view->parserExtensions = [ new TwigExtension ]; |
a ještě soubor routes.php a route pro homepage
1 2 3 4 5 |
<?php $app->get('/', function () { echo "Úvodní stránka"; }); |
github repozitář najdete na Slimsite