Czechitas - školení PHP/Symfony MicroKernel

Post on 13-Apr-2017

139 views 0 download

transcript

bit.ly/czechitaszipStáhnout & rozbalit :-)

Dennis Fridrichgithub.com/dfridrich

Symfony MicroKernel + TWIG

Mozek našeho webu: app.php

Přejmenuj na index.php

vendor/autoload.php registerBundles() configureRoutes()

configureContainer() getCacheDir()

getLogDir()

indexAction() a další akce

Routování (cesty)protected function configureRoutes(RouteCollectionBuilder $routes) { $routes->add('/', 'kernel:indexAction', 'index'); $routes->add('/fotky', 'kernel:photosAction', 'photos'); $routes->add('/vtip', 'kernel:jokeAction', 'joke'); $routes->add('/kontakt', 'kernel:contactAction', 'contact'); }

Action vykreslí TWIGpublic function indexAction(){ return $this->render('index.html.twig'); }

…předání parametrůreturn $this->render( 'posts.html.twig', ["posts" => $posts] );

TWIG šablony{{ promenna }} = echo $promenna;

{{ promenna|nl2br }} = nl2br($promenna); {{ “now” }} nebo {{ “now”|date(“d.m.Y”) }}

{{ asset(‘cesta k souboru’) }}

{% extends “template.html.twig” %} {% block content %}…obsah…{% endblock content %}

<!DOCTYPE html> <html lang="cs-CZ"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link href='http://fonts.googleapis.com/css?family=Josefin+Sans:100,300,400,100italic,300italic' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="{{ asset('assets/robin.css') }}" type="text/css"> <title>Osobní stránka Kryštůfka Robina</title></head><body><nav class="navigation"> <ul> <li><a href="{{ path('index') }}">O mně</a></li> <li><a href="{{ path('photos') }}">Obrázky</a></li> <li><a href="{{ path('joke') }}">Vtip</a></li> <li><a href="{{ path('contact') }}">Kontakt</a></li> </ul></nav><section> {{ block("content") }} <aside> <h1>Robinova stránka</h1> <img src="{{ asset("assets/robin.jpg") }}" alt="Robin" class="profile-pic"> <blockquote> “We'll be Friends Forever, won't we, Pooh? asked Piglet. Even longer,' Pooh answered." </blockquote> </aside></section><footer> <p>Kryštůfek Robin &copy; {{ "now"|date("Y") }}</p></footer></body></html>

{% extends "template.html.twig" %} {% block content %} <article> <header> <h2>Anglický vtip</h2> </header> <p>{{ joke|nl2br }}</p> </article>{% endblock content %}

Smaž si vtipy a napiš si své vlastní

Přejmenuj cestu “/vtip” na “/vtip-dne”

Změň nadpis stránky “Anglický vtip”na “Vtip dne”

Přejmenuj soubor template.html.twig na layout.html.twig

Přidej vlastní stránku s články

Články budou v souboru clanky.php, ve kterém bude pole $posts. Toto pole předáš do šablony a vykreslíš

nadpis a obsah článku.

TIPy: require “posts.php”

$posts[] = ["title" => “Můj článek", "content" => “Stalo se to, že…”];http://twig.sensiolabs.org/doc/tags/for.html

OMG?!? Kam se ztratil z webu kontakt?

Uprav CSS tak, ať je zase vidět.

TIP: nav.navigation ul