SlideShare a Scribd company logo
1 of 58
5. sraz přátel Symfony - Kdo ví víc?
Praha, 18. 2. 2016, Vím Víc Hub
Martin Zeman
@zemistr
K Vašim službám!
Dnešní téma:
MicroKernel
(aneb špatný název pro Helper)
Co to, k*rva, je?
Micro + Kernel
Micro
Kernel
Anglický název kernel znamená (v překladu):
● jádro pecky
● zrno
● ztvrdlá dužina ovoce
https://cs.wikipedia.org/wiki/Jádro_operačního_systému
MicroKernel
=
malé jádro pecky
Chápou všichni?
Kernel
Jádro operačního systému (anglicky kernel) je v informatice
část
operačního systému, která je zavedena do operační paměti při
startu (bootování) počítače a je jí předáno řízení. U pokročilých
operačních systémů jádro nikdy neztrácí kontrolu nad počítačem
a po celou dobu jeho běhu koordinuje činnost všech spuštěných
procesů. Bla bla bla ...
https://cs.wikipedia.org/wiki/Jádro_operačního_systému
MicroKernel
Mikrojádro je v informatice typ jádra operačního systému, které je
velmi malé a obsahuje jen nejzákladnější funkce (typicky správu
paměti a podporu pro plánování procesů a meziprocesové
komunikace), čímž se minimalizuje objem běžícího kódu v
privilegovaném režimu. Bla bla bla ...
https://cs.wikipedia.org/wiki/Mikrojádro
Kernel(Symfony kernel)
Co to vlastně je ten Symfony Kernel?
MicroKernel(Symfony kernel)
Co to vlastně je ten Symfony MicroKernel?
MicroKernel(Symfony kernel)
MicroKernel(Symfony kernel)
http://symfony.com/blog/new-in-symfony-2-8-symfony-as-a-microframework
https://knpuniversity.com/screencast/new-in-symfony3/micro-kernel
// vendor/symfony/framework-bundle/Kernel/MicroKernelTrait.php
trait MicroKernelTrait {
abstract protected function configureRoutes(RouteCollectionBuilder $routes);
abstract protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader);
public function registerContainerConfiguration(LoaderInterface $loader) {
$loader->load(
function (ContainerBuilder $container) use ($loader) {
$container->loadFromExtension('framework', [
'router' => [
'resource' => 'kernel:loadRoutes',
'type' => 'service'
]
]
);
$this->configureContainer($container, $loader);
$container->addObjectResource($this);
}
);
}
public function loadRoutes(LoaderInterface $loader) {
$routes = new RouteCollectionBuilder($loader);
$this->configureRoutes($routes);
return $routes->build();
}
}
Ano, Trait je malý, ale to je asi vše...
{
"require": {
"symfony/framework-bundle": "3.0.*"
}
}
Pro použití stačí jen stáhnout symfony/framework-bundle
Složka “vendor”:
Složek: 486
Souborů: 2063
Velikost: 5.32 MB
Po stažení
// index.php
class LittleKernel extends Kernel {
use MicroKernelTrait;
public function registerBundles() {
return [
new FrameworkBundle()
];
}
protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader) {
$c->loadFromExtension('framework', ['secret' => 'James Bond 007']);
}
protected function configureRoutes(RouteCollectionBuilder $routes) {
$routes->add('/hello/{name}', 'Kernel:helloAction');
}
public function helloAction($name) {
return new Response("Hello $name");
}
}
$kernel = new LittleKernel('dev', true);
$kernel->loadClassCache();
$kernel->handle(Request::createFromGlobals())->send();
A přidat pár řádků do index.php
Tadá!
server.local/index.php/hello/007
// index.php
class LittleKernel extends Kernel {
use MicroKernelTrait;
public function registerBundles() {
return [
new FrameworkBundle(),
];
}
protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader) {
$c->loadFromExtension('framework', ['secret' => 'James Bond 007']);
}
protected function configureRoutes(RouteCollectionBuilder $routes) {
$routes->add('/hello/{name}', 'Kernel:helloAction');
}
public function helloAction($name) {
return new Response("Hello $name");
}
}
$kernel = new LittleKernel('dev', true);
$kernel->loadClassCache();
$kernel->handle(Request::createFromGlobals())->send();
"Hello $name"
A přidat pár řádků do index.php
+ Twig
{
"require": {
"symfony/framework-bundle": "3.0.*",
"symfony/twig-bundle": "3.0.*"
}
}
Pro použití stačí jen stáhnout symfony/twig-bundle
Složka “vendor”:
Složek: 638 (+152)
Souborů: 2859 (+796)
Velikost: 6.72 MB (+1.4)
Po stažení
// index.php
class LittleKernel extends Kernel {
...
public function registerBundles() {
return [
new FrameworkBundle(),
new TwigBundle()
];
}
protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader) {
$c->loadFromExtension(
'framework',
[
'secret' => 'James Bond 007',
'templating' => ['engines' => ['twig']]
]
);
}
...
public function helloAction($name) {
$twig = $this->getContainer()->get('twig');
$template = $twig->createTemplate('Hello {{ name }}');
$html = $template->render(['name' => $name]);
return new Response($html);
}
}
...
'Hello {{ name }}'
server.local/index.php/hello/007
+ Controllery
+ Šablony
{
"require": {
"symfony/framework-bundle": "3.0.*",
"symfony/twig-bundle": "3.0.*"
},
"autoload": {
"psr-4": {
"": "src/"
}
}
}
// src/AppBundle/AppBundle.php
<?php
namespace AppBundle;
use SymfonyComponentHttpKernelBundleBundle;
class AppBundle extends Bundle {
}
Bond komunikuje s M
// src/AppBundle/AppBundle.php
<?php
namespace AppBundle;
use SymfonyComponentHttpKernelBundleBundle;
class AppBundle extends Bundle {
}
// src/AppBundle/Controller/MController.php
<?php
namespace AppBundleController;
use SymfonyBundleFrameworkBundleControllerController;
class MController extends Controller {
public function helloAction($name) {
return $this->render('AppBundle:M:hello.html.twig', ['name' => $name]);
}
}
// src/AppBundle/Resources/views/M/hello.html.twig
Hello {{ name }}
// index.php
class LittleKernel extends Kernel {
use MicroKernelTrait;
public function registerBundles() {
return [
new FrameworkBundle(),
new TwigBundle(),
new AppBundle(),
];
}
protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader) {
$c->loadFromExtension(
'framework',
[
'secret' => 'James Bond 007',
'templating' => ['engines' => ['twig']]
]
);
}
protected function configureRoutes(RouteCollectionBuilder $routes) {
$routes->add('/hello/{name}', 'AppBundle:M:hello');
}
}
...
server.local/index.php/hello/007
+ Lepší routy
+ Lepší šablony
{
"require": {
"symfony/framework-bundle": "3.0.*",
"symfony/twig-bundle": "3.0.*",
"sensio/framework-extra-bundle": "3.0.*"
},
"autoload": {
"psr-4": {
"": "src/"
}
}
}
Pro použití stačí jen stáhnout sensio/framework-extra-bundle
Složka “vendor”:
Složek: 707 (+69)
Souborů: 3036 (+177)
Velikost: 7.28 MB (+0.56)
Po stažení
// src/AppBundle/Controller/MController.php
class MController extends Controller {
/**
* @Route("/hello/{name}")
* @Template()
*/
public function helloAction($name) {
return ['name' => $name];
}
}
// index.php
$loader = require __DIR__ . '/vendor/autoload.php';
AnnotationRegistry::registerLoader([$loader, 'loadClass']);
class LittleKernel extends Kernel {
use MicroKernelTrait;
public function registerBundles() {
return [
new FrameworkBundle(),
new TwigBundle(),
new SensioBundleFrameworkExtraBundleSensioFrameworkExtraBundle(),
new AppBundle(),
];
}
...
protected function configureRoutes(RouteCollectionBuilder $routes) {
$routes->import('@AppBundle/Controller', '/', 'annotation');
}
}
...
server.local/index.php/hello/007
Prosím!
Rozděl ten index!
// index.php
use DoctrineCommonAnnotationsAnnotationRegistry;
use SymfonyComponentHttpFoundationRequest;
$loader = require __DIR__ . '/vendor/autoload.php';
AnnotationRegistry::registerLoader([$loader, 'loadClass']);
require __DIR__ . '/LittleKernel.php';
$kernel = new LittleKernel('dev', true);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
<?php
// LittleKernel.php
...
class LittleKernel extends Kernel {
use MicroKernelTrait;
public function registerBundles() {
return [
new FrameworkBundle(),
new TwigBundle(),
new SensioBundleFrameworkExtraBundleSensioFrameworkExtraBundle(),
new AppBundle(),
];
}
protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader) {
$c->loadFromExtension(
'framework',
[
'secret' => 'James Bond 007',
'templating' => ['engines' => ['twig']]
]
);
}
protected function configureRoutes(RouteCollectionBuilder $routes) {
$routes->import('@AppBundle/Controller', '/', 'annotation');
}
}
Výsledek (fujky):
Controllery: 0
Šablony: 0
Bundly: 1
Jiné soubory: 1 (index)
Výsledek (mňam):
Controllery: 1
Šablony: 1
Bundly: 4
Jiné soubory: 2 (index + LittleKernel)
Složka “vendor”:
Složek: 707
Souborů: 3036
Velikost: 7.28 MB
Micro?
MicroKernel(Symfony kernel)
KernelHelper?
+1
Hmmm, nejsem jediný, komu se ten název nelíbí.
Používat?
x
Nepoužívat?
Otázky?

More Related Content

What's hot

Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)Péhápkaři
 
CRCE - přehled datového modelu a vybraná API
CRCE - přehled datového modelu a vybraná APICRCE - přehled datového modelu a vybraná API
CRCE - přehled datového modelu a vybraná APIPremek Brada
 
Vývoj aplikací pro iOS
Vývoj aplikací pro iOSVývoj aplikací pro iOS
Vývoj aplikací pro iOSPetr Dvorak
 
WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPBrnoPHP
 
Czechitas - školení PHP/Symfony MicroKernel
Czechitas - školení PHP/Symfony MicroKernelCzechitas - školení PHP/Symfony MicroKernel
Czechitas - školení PHP/Symfony MicroKernelDennis Fridrich
 
Rozšiřujeme jQuery aneb proč si nenapsat plugin?
Rozšiřujeme jQuery aneb proč si nenapsat plugin?Rozšiřujeme jQuery aneb proč si nenapsat plugin?
Rozšiřujeme jQuery aneb proč si nenapsat plugin?Bohdan Ganický
 

What's hot (10)

Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
 
CRCE - přehled datového modelu a vybraná API
CRCE - přehled datového modelu a vybraná APICRCE - přehled datového modelu a vybraná API
CRCE - přehled datového modelu a vybraná API
 
Vývoj aplikací pro iOS
Vývoj aplikací pro iOSVývoj aplikací pro iOS
Vývoj aplikací pro iOS
 
WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHP
 
Czechitas - školení PHP/Symfony MicroKernel
Czechitas - školení PHP/Symfony MicroKernelCzechitas - školení PHP/Symfony MicroKernel
Czechitas - školení PHP/Symfony MicroKernel
 
Drupal Front-end
Drupal Front-endDrupal Front-end
Drupal Front-end
 
CQRS v rohlik.cz
CQRS v rohlik.czCQRS v rohlik.cz
CQRS v rohlik.cz
 
Kdyby/Redis
Kdyby/RedisKdyby/Redis
Kdyby/Redis
 
Django
DjangoDjango
Django
 
Rozšiřujeme jQuery aneb proč si nenapsat plugin?
Rozšiřujeme jQuery aneb proč si nenapsat plugin?Rozšiřujeme jQuery aneb proč si nenapsat plugin?
Rozšiřujeme jQuery aneb proč si nenapsat plugin?
 

Viewers also liked

Catalogue formations altasys_conseil2013_
Catalogue formations altasys_conseil2013_Catalogue formations altasys_conseil2013_
Catalogue formations altasys_conseil2013_Novabuild
 
Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...
Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...
Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...Global NCAP
 
Buttler_Jose-AUTO[1] (4)
Buttler_Jose-AUTO[1] (4)Buttler_Jose-AUTO[1] (4)
Buttler_Jose-AUTO[1] (4)Jose Buttler
 
Crafting tailored wordlists with Wordsmith
Crafting tailored wordlists with WordsmithCrafting tailored wordlists with Wordsmith
Crafting tailored wordlists with WordsmithSanjiv Kawa
 
Le soutien des habitants et les propriétaires dans le projet urbain
Le soutien des habitants et les propriétaires dans le projet urbain  Le soutien des habitants et les propriétaires dans le projet urbain
Le soutien des habitants et les propriétaires dans le projet urbain sarah barkat
 
Les risques du batiment
Les risques du batimentLes risques du batiment
Les risques du batimentSami Sahli
 
Les étapes clés pour se lancer en franchise
Les étapes clés pour se lancer en franchiseLes étapes clés pour se lancer en franchise
Les étapes clés pour se lancer en franchiseCamille Dupuy
 
Palais d’aljafería saraoza espagne
Palais d’aljafería saraoza espagnePalais d’aljafería saraoza espagne
Palais d’aljafería saraoza espagneSami Sahli
 
Utiliser Facebook pour votre business
Utiliser Facebook pour votre businessUtiliser Facebook pour votre business
Utiliser Facebook pour votre businessAmelie Nollet
 
Le web, la gestion de projet web et la communication web 2.0
Le web, la gestion de projet web et la communication web 2.0Le web, la gestion de projet web et la communication web 2.0
Le web, la gestion de projet web et la communication web 2.0Marion Castel
 
Création d'un site et stratégie digitale par Wonderful
Création d'un site et stratégie digitale par WonderfulCréation d'un site et stratégie digitale par Wonderful
Création d'un site et stratégie digitale par WonderfulAgence Wonderful
 
Complexe de loisir à medea
Complexe de loisir à medeaComplexe de loisir à medea
Complexe de loisir à medeaSami Sahli
 

Viewers also liked (17)

Catalogue formations altasys_conseil2013_
Catalogue formations altasys_conseil2013_Catalogue formations altasys_conseil2013_
Catalogue formations altasys_conseil2013_
 
Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...
Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...
Joseph McKillips, Executive Director, Network of Employers for Traffic Safety...
 
Buttler_Jose-AUTO[1] (4)
Buttler_Jose-AUTO[1] (4)Buttler_Jose-AUTO[1] (4)
Buttler_Jose-AUTO[1] (4)
 
1 RESUME UPDATE 2016
1 RESUME UPDATE 20161 RESUME UPDATE 2016
1 RESUME UPDATE 2016
 
Resume Viktor Petersson
Resume Viktor PeterssonResume Viktor Petersson
Resume Viktor Petersson
 
Tek talk 1
Tek talk 1Tek talk 1
Tek talk 1
 
Crafting tailored wordlists with Wordsmith
Crafting tailored wordlists with WordsmithCrafting tailored wordlists with Wordsmith
Crafting tailored wordlists with Wordsmith
 
Le soutien des habitants et les propriétaires dans le projet urbain
Le soutien des habitants et les propriétaires dans le projet urbain  Le soutien des habitants et les propriétaires dans le projet urbain
Le soutien des habitants et les propriétaires dans le projet urbain
 
Les risques du batiment
Les risques du batimentLes risques du batiment
Les risques du batiment
 
Les étapes clés pour se lancer en franchise
Les étapes clés pour se lancer en franchiseLes étapes clés pour se lancer en franchise
Les étapes clés pour se lancer en franchise
 
Boufarik
BoufarikBoufarik
Boufarik
 
Resume2016
Resume2016Resume2016
Resume2016
 
Palais d’aljafería saraoza espagne
Palais d’aljafería saraoza espagnePalais d’aljafería saraoza espagne
Palais d’aljafería saraoza espagne
 
Utiliser Facebook pour votre business
Utiliser Facebook pour votre businessUtiliser Facebook pour votre business
Utiliser Facebook pour votre business
 
Le web, la gestion de projet web et la communication web 2.0
Le web, la gestion de projet web et la communication web 2.0Le web, la gestion de projet web et la communication web 2.0
Le web, la gestion de projet web et la communication web 2.0
 
Création d'un site et stratégie digitale par Wonderful
Création d'un site et stratégie digitale par WonderfulCréation d'un site et stratégie digitale par Wonderful
Création d'un site et stratégie digitale par Wonderful
 
Complexe de loisir à medea
Complexe de loisir à medeaComplexe de loisir à medea
Complexe de loisir à medea
 

Similar to MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)

MoroSystems na ostravském CZJUGu o Apache Wicket
MoroSystems na ostravském CZJUGu o Apache WicketMoroSystems na ostravském CZJUGu o Apache Wicket
MoroSystems na ostravském CZJUGu o Apache WicketTomáš Páral
 
Zmrakování pružné včely
Zmrakování pružné včelyZmrakování pružné včely
Zmrakování pružné včelyfersman
 
Czech and Slovak Sun Training Day 2007 - Solaris
Czech and Slovak Sun Training Day 2007 - SolarisCzech and Slovak Sun Training Day 2007 - Solaris
Czech and Slovak Sun Training Day 2007 - SolarisMartin Cerveny
 
Silex
SilexSilex
SilexKeyup
 
Rozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVCRozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVCtopascz
 
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiDevelcz
 
Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?
Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?
Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?Develcz
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůPeckaDesign.cz
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdanielkolman
 
Android Development for Phone and Tablet
Android Development for Phone and TabletAndroid Development for Phone and Tablet
Android Development for Phone and TabletTomáš Kypta
 
Slovak Sun Training Day 2010 - DTrace
Slovak Sun Training Day 2010 - DTraceSlovak Sun Training Day 2010 - DTrace
Slovak Sun Training Day 2010 - DTraceMartin Cerveny
 
Rozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVCRozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVCtopascz
 
Android nálevna (Czech / Android for beginners)
Android nálevna (Czech / Android for beginners)Android nálevna (Czech / Android for beginners)
Android nálevna (Czech / Android for beginners)pavelpetrek
 
Keyup presentation about Gulp
Keyup presentation about GulpKeyup presentation about Gulp
Keyup presentation about GulpKeyup
 
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Martin Hujer
 

Similar to MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony) (20)

MoroSystems na ostravském CZJUGu o Apache Wicket
MoroSystems na ostravském CZJUGu o Apache WicketMoroSystems na ostravském CZJUGu o Apache Wicket
MoroSystems na ostravském CZJUGu o Apache Wicket
 
Zmrakování pružné včely
Zmrakování pružné včelyZmrakování pružné včely
Zmrakování pružné včely
 
Czech and Slovak Sun Training Day 2007 - Solaris
Czech and Slovak Sun Training Day 2007 - SolarisCzech and Slovak Sun Training Day 2007 - Solaris
Czech and Slovak Sun Training Day 2007 - Solaris
 
201502.ReinIT.Dev
201502.ReinIT.Dev201502.ReinIT.Dev
201502.ReinIT.Dev
 
Silex
SilexSilex
Silex
 
Rozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVCRozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVC
 
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
 
Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?
Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?
Miroslav Bajtoš - Nativní async/await v Node.js - už tam jsme?
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopů
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Android Development for Phone and Tablet
Android Development for Phone and TabletAndroid Development for Phone and Tablet
Android Development for Phone and Tablet
 
Slovak Sun Training Day 2010 - DTrace
Slovak Sun Training Day 2010 - DTraceSlovak Sun Training Day 2010 - DTrace
Slovak Sun Training Day 2010 - DTrace
 
Úvod do rails
Úvod do railsÚvod do rails
Úvod do rails
 
Mesour DataGrid
Mesour DataGridMesour DataGrid
Mesour DataGrid
 
Rozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVCRozšiřitelnost ASP.NET MVC
Rozšiřitelnost ASP.NET MVC
 
Android nálevna (Czech / Android for beginners)
Android nálevna (Czech / Android for beginners)Android nálevna (Czech / Android for beginners)
Android nálevna (Czech / Android for beginners)
 
Keyup presentation about Gulp
Keyup presentation about GulpKeyup presentation about Gulp
Keyup presentation about Gulp
 
Clean code
Clean codeClean code
Clean code
 
2 prz
 2 prz 2 prz
2 prz
 
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
 

More from Péhápkaři

Startup vs korporace vs Previo
Startup vs korporace vs PrevioStartup vs korporace vs Previo
Startup vs korporace vs PrevioPéhápkaři
 
RabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v PreviuRabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v PreviuPéhápkaři
 
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Péhápkaři
 
Čtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán ZikmundČtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán ZikmundPéhápkaři
 
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...Péhápkaři
 
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)Péhápkaři
 
PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]Péhápkaři
 
PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]Péhápkaři
 
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...Péhápkaři
 
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...Péhápkaři
 
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...Péhápkaři
 
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...Péhápkaři
 
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...Péhápkaři
 
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...Péhápkaři
 
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)Péhápkaři
 
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)Péhápkaři
 
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)Péhápkaři
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Péhápkaři
 
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)Péhápkaři
 
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)Péhápkaři
 

More from Péhápkaři (20)

Startup vs korporace vs Previo
Startup vs korporace vs PrevioStartup vs korporace vs Previo
Startup vs korporace vs Previo
 
RabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v PreviuRabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v Previu
 
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
 
Čtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán ZikmundČtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán Zikmund
 
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
 
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
 
PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]
 
PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]
 
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
 
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
 
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
 
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
 
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
 
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
 
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
 
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
 
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
 
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
 
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
 

MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)

Editor's Notes

  1. https://cs.wikipedia.org/wiki/Jádro_operačního_systému
  2. https://cs.wikipedia.org/wiki/Jádro_operačního_systému
  3. https://cs.wikipedia.org/wiki/Mikrojádro
  4. Co to vlastně je ten Symfony Kernel?
  5. Co to vlastně je ten Symfony MicroKernel?
  6. http://symfony.com/blog/new-in-symfony-2-8-symfony-as-a-microframework https://knpuniversity.com/screencast/new-in-symfony3/micro-kernel
  7. Ano, Trait je malý, ale to je asi vše...
  8. Pro použití stačí jen stáhnout symfony/framework-bundle
  9. Po stažení
  10. A přidat pár řádků do index.php
  11. A přidat pár řádků do index.php
  12. Pro použití stačí jen stáhnout symfony/twig-bundle
  13. Po stažení
  14. Bond komunikuje s M
  15. Pro použití stačí jen stáhnout sensio/framework-extra-bundle
  16. Po stažení
  17. Hmmm, nejsem jediný, komu se ten název nelíbí.