Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DRUPAL CONSOLE
WWW.DRUPALCONSOLE.COM
Martin Hasoň
12. 11. 2015
8. setkání přátel Symfony a Drupal v Brně
CO JE DRUPAL CONSOLE
Kolekce příkazů pro generování kódu a práci s Drupal 8.
Narozdíl od Drush je použita Symfony Console....
STAŽENÍ DRUPAL8
$ drupal site:new demo
[+] Getting releases for Drupal
Please select your favorite release
  [8.0.0­rc3   ...
INSTALACE DRUPAL8
$ cd demo
$ drupal site:install
Select Drupal profile to be installed
  [Minimal ] Minimal
  [Standard] ...
PŘÍKAZY PRO DEBUGOVÁNÍ
$ drupal config:debug       # Výpis konfigurace
$ drupal container:debug    # Seznam služeb
$ drupa...
PŘIDÁNÍ WEBROFILERU A LIŠTY
$ drupal module:download webprofiler
[+] Getting releases for module webprofiler
Please select...
KONFIGURACE WEBPROFILERU
$ drupal config:edit webprofiler.config
purge_on_cache_clear: true
storage: profiler.database_sto...
KONFIGURACE WEBPROFILERU
DRUPAL8 TIMELINE
SYMFONY TIMELINE
UŽITEČNÉ PŘÍKAZY
Změna módu aplikace
$ drupal site:mode prod
$ drupal site:mode dev
Stránka údržby
$ drupal site:maintenan...
VLASTNÍ MODUL
$ drupal generate:module
 Welcome to the Drupal module generator 
Enter the new module name: demo
Enter the ...
VLASTNÍ CONTROLLER
$ drupal generate:controller
 Welcome to the Drupal Controller generator 
Enter the module name: demo
E...
VLASTNÍ CONTROLLER
<?php
// modules/custom/demo/src/Controller/HelloController.php
namespace DrupaldemoController;
use Dru...
VLASTNÍ CONTROLLER A ŠABLONA
// modules/custom/demo/src/Controller/HelloController.php
//...
use SymfonyComponentHttpFound...
A TO UŽ JSME V SYMFONY!
https://github.com/hason
https://twitter.com/@hasonm
https://www.webuni.cz
Upcoming SlideShare
Loading in …5
×

Drupal console

Drupal8 má novou webovou administraci. S využitím Drupal Console ji vývojář vůbec nebude potřebovat, protože umí Drupal nejen nainstalovat, ale i nakonfigurovat a nasadit přes příkazovou řádku. Je to rychlejší a více geekovské!

  • Login to see the comments

Drupal console

  1. 1. DRUPAL CONSOLE WWW.DRUPALCONSOLE.COM Martin Hasoň 12. 11. 2015 8. setkání přátel Symfony a Drupal v Brně
  2. 2. CO JE DRUPAL CONSOLE Kolekce příkazů pro generování kódu a práci s Drupal 8. Narozdíl od Drush je použita Symfony Console. Nástroj umožňující ovládat a nastavit Drupal8 bez webového rozhraní. Instalace $ php ­r "readfile('http://drupalconsole.com/installer');" | php $ mv console.phar /usr/local/bin/drupal $ drupal init
  3. 3. STAŽENÍ DRUPAL8 $ drupal site:new demo [+] Getting releases for Drupal Please select your favorite release   [8.0.0­rc3    ] 8.0.0­rc3   [8.0.0­rc2    ] 8.0.0­rc2   [8.0.0­rc1    ] 8.0.0­rc1   [8.0.0­beta16 ] 8.0.0­beta16   [8.0.0­beta15 ] 8.0.0­beta15   [8.0.0­beta14 ] 8.0.0­beta14   [8.0.0­beta13 ] 8.0.0­beta13   [8.0.0­beta12 ] 8.0.0­beta12   [8.0.0­beta11 ] 8.0.0­beta11   [8.0.0­beta10 ] 8.0.0­beta10   [8.0.0­beta9  ] 8.0.0­beta9   [8.0.0­beta7  ] 8.0.0­beta7   [8.0.0­beta6  ] 8.0.0­beta6   [8.0.0­beta4  ] 8.0.0­beta4   [8.0.0­beta3  ] 8.0.0­beta3   [8.0.0­beta2  ] 8.0.0­beta2   [8.0.0­beta1  ] 8.0.0­beta1   [8.0.0­alpha15] 8.0.0­alpha15   [8.0.0­alpha14] 8.0.0­alpha14   [8.0.x­dev    ] 8.0.x­dev  > 8.0.0­rc3 [+] Downloading Drupal 8.0.0­rc3 [+] Extracting files for Drupal 8.0.0­rc3 [+] Drupal 8.0.0­rc3 was downloaded in directory demo
  4. 4. INSTALACE DRUPAL8 $ cd demo $ drupal site:install Select Drupal profile to be installed   [Minimal ] Minimal   [Standard] Standard  > Standard Select language for your Drupal installation [English]: Czech commands.migrate.setup.migrations.questions.db­type   [SQLite                                       ] SQLite   [MySQL, MariaDB, Percona Server, or equivalent] MySQL, MariaDB, Percona Server, or equivalent  > MySQL, MariaDB, Percona Server, or equivalent Database Host [127.0.0.1]:  Database Name: drupal8_demo    Database User: root Database Pass:  Database Prefix:  Database Port [3306]:  Provide your Drupal site name [Drupal 8 Site Install]: Drupal8 Demo Provide your Drupal site mail [admin@example.com]:  Provide your Drupal administrator account name [admin]:  Provide your Drupal administrator account mail [admin@example.com]:  Provide your Drupal administrator account password:  [­] Starting Drupal 8 install process [­] Your Drupal 8 installation was completed sucessfully
  5. 5. PŘÍKAZY PRO DEBUGOVÁNÍ $ drupal config:debug       # Výpis konfigurace $ drupal container:debug    # Seznam služeb $ drupal cron:debug         # Seznam modulů s úlohami pro cron $ drupal database:log:debug $ drupal migrate:debug      # Seznam dostupných migrací $ drupal module:debug       # Seznam dostupných modulů $ drupal multisite:debug  $ drupal rest:debug         # Seznam REST zdrojů $ drupal router:debug       # Seznam rout $ drupal site:debug         # Seznam lokálních i remote webů $ drupal update:debug $ drupal views:debug
  6. 6. PŘIDÁNÍ WEBROFILERU A LIŠTY $ drupal module:download webprofiler [+] Getting releases for module webprofiler Please select your favorite release   [8.x­2.0­rc3    ] 8.x­2.0­rc3   [8.x­2.0­rc2    ] 8.x­2.0­rc2   [8.x­2.0­rc1    ] 8.x­2.0­rc1   [8.x­2.0­beta16 ] 8.x­2.0­beta16   [8.x­2.0­beta15 ] 8.x­2.0­beta15   [8.x­1.1­beta15 ] 8.x­1.1­beta15   [8.x­1.1­beta13 ] 8.x­1.1­beta13   ...  > 8.x­2.0­rc3 [­] Downloading module webprofiler release 8.x­2.0­rc3 [­] Module webprofiler version 8.x­2.0­rc3 was downloaded successfully $ drupal module:install webprofiler
  7. 7. KONFIGURACE WEBPROFILERU $ drupal config:edit webprofiler.config purge_on_cache_clear: true storage: profiler.database_storage exclude: "/contextual/*rn/toolbar/*rn/edit/*rn*.jsrn*.css" ide_link: 'subl://open?url=file://@file&line=@line' active_toolbar_items:   assets: assets   blocks: blocks   cache: cache   config: config   database: database   events: events   drupal_extension: drupal_extension   forms: '0'   http: '0'   php_config: php_config   performance_timing: performance_timing   request: request   routing: routing   services: services   state: state   theme: theme   time: time   translations: translations   user: user   views: views   mail: '0' query_sort: source query_highlight: 5 langcode: cs
  8. 8. KONFIGURACE WEBPROFILERU
  9. 9. DRUPAL8 TIMELINE
  10. 10. SYMFONY TIMELINE
  11. 11. UŽITEČNÉ PŘÍKAZY Změna módu aplikace $ drupal site:mode prod $ drupal site:mode dev Stránka údržby $ drupal site:maintenance on $ drupal site:maintenance off Export a import nastavení $ drupal config:export $ drupal config:import
  12. 12. VLASTNÍ MODUL $ drupal generate:module  Welcome to the Drupal module generator  Enter the new module name: demo Enter the module machine name [demo]:  Enter the module Path [/modules/custom]:  Enter module description [My Awesome Module]: My Demo module Enter package name [Other]:  Enter Drupal Core version [8.x]:  Define module as feature [no]?  Do you want to add a composer.json file to your module [no]? yes Would you like to add module dependencies [no]?  Do you confirm generation [yes]?   Generated or updated files  Site path: /home/hason/Projekty/drupal­test/demo 1 ­ modules/custom/demo/demo.info.yml 2 ­ modules/custom/demo/demo.module 3 ­ modules/custom/demo/composer.json $ drupal module:install demo
  13. 13. VLASTNÍ CONTROLLER $ drupal generate:controller  Welcome to the Drupal Controller generator  Enter the module name: demo Enter the Controller class name [DefaultController]: HelloController Controller title: Hello Enter the action method name [index]: hello Enter the route path [demo/hello/{param_1}/{param_2}]: demo/hello/{name}  Controller title (empty to start with code generation):  Do you want to generate a unit test class [yes]? no Do you want to load services from the container [no]? yes Type the service name or use keyup or keydown. This is optional, press enter to continue Enter your service: twig Enter your service:  Do you confirm generation [yes]?   Generated or updated files  Site path: /home/hason/Projekty/drupal­test/demo 1 ­ modules/custom/demo/src/Controller/HelloController.php 2 ­ modules/custom/demo/demo.routing.yml [+] Rebuilding routes, wait a moment please [+] Done rebuilding route(s).
  14. 14. VLASTNÍ CONTROLLER <?php // modules/custom/demo/src/Controller/HelloController.php namespace DrupaldemoController; use DrupalComponentUtilityHtml; use DrupalCoreControllerControllerBase; use DrupalCoreTemplateTwigEnvironment; use SymfonyComponentDependencyInjectionContainerInterface; class HelloController extends ControllerBase {   protected $twig;   public function __construct(TwigEnvironment $twig) {     $this­>twig = $twig;   }   public static function create(ContainerInterface $container) {     return new static(       $container­>get('twig')     );   }   public function hello($name) {     return [         '#type' => 'markup',         '#markup' => sprintf('Hello %s!', Html::escape($name)),     ];   } }
  15. 15. VLASTNÍ CONTROLLER A ŠABLONA // modules/custom/demo/src/Controller/HelloController.php //... use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; class HelloController extends ControllerBase {   // ...   public function hello(Request $request, $name) {     return new Response(         $this­>twig­>render('@demo/hello.html.twig', ['name' => $name])     );   }   // ... } {# modules/custom/demo/templates/hello.html.twig #} Hello {{ name }}!
  16. 16. A TO UŽ JSME V SYMFONY! https://github.com/hason https://twitter.com/@hasonm https://www.webuni.cz

×