Drupal 8 Improvements for
Developer Productivity:
PHP, Symfony, and More
Who am I?
Ron Northcutt
Solutions Architect, Acquia
● using Drupal since 4.7 (circa 2006)
● freelance developer
● small dev shop
● sr. developer & tech lead
● solutions architect
Find me online:
https://www.drupal.org/u/rlnorthcutt
https://www.linkedin.com/in/rlnorthcutt
https://twitter.com/rlnorthcutt
https://plus.google.com/+RonNorthcutt
Agenda
● Setup all the dev tools
● Review CLI commands
● Create a sample module
● Explore tools
● Chrome extensions
Setup
DD2 and PHPStorm 1/7
● Dev Desktop 2
https://www.acquia.com/products-services/dev-desktop
○ full LAMP stack with configurable PHP versions
○ includes drush
○ includes PHPMyAdmin
○ integration with Acquia Cloud
● PHPStorm
http://www.jetbrains.com/phpstorm/
○ free 30 day trial then $90, or
○ possible free license for OSS projects
○ http://confluence.jetbrains.com/display/PhpStorm/Drupal+Development+using+PhpStorm
Xdebug 2/7
Xdebug setup instructions: https://docs.acquia.com/dev-desktop/sites/phpstorm
1. Edit php.ini
2. Restart apache
3. Configure PHPStorm to use Xdebug
4. Add your site as a project
5. Configure remote debug
Drupal Console 3/7
Drupal console setup instructions: https://drupalconsole.com/
1. Download the latest Console version:
curl https://drupalconsole.com/installer -L -o drupal.phar
2. Make it accessible anywhere on your system:
mv drupal.phar /usr/local/bin/drupal
3. Apply executable permissions on the downloaded file:
chmod +x /usr/local/bin/drupal
4. Copy configuration files to user home directory:
drupal init [--override]
5. List all available commands:
drupal list
Composer Manager 4/7
Composer Manager project page:
https://www.drupal.org/project/composer_manager
“Composer expects each project (Drupal installation, in our case) to have a single composer.json file
listing all required packages. Composer Manager allows each contributed module to ship with its own
composer.json file, listing the module-specific requirements. It then merges the requirements of all
found modules into the consolidated composer.json file. This results in a single vendor/ directory shared
across all modules which prevents code duplication and version mismatches.”
1. drush dl composer_manager -y
2. drush en composer_manager -y
3. composer drupal-update --no-dev
Devel and Webprofiler 5/7
Devel project page:
https://www.drupal.org/project/devel
Devel
Helper functions for Drupal developers and inquisitive admins. Enable the included Kint submodule as for pretty print of
variables. kint($array) function is provided, which pretty prints arrays. Useful during development. Similarly, a
ddebug_backtrace() is offered.
WebProfiler (D8+)
Add a powerful footer to all pages of your site. There, admins can review resource utilization, cache effectiveness,
database queries, Views, and so much more.
1. drush dl devel -y
2. drush en devel webprofiler -y
3. optional : install additional js libraries for webprofiler (see status page)
Xhprof 6/7
Xhprof setup instructions: https://docs.acquia.com/articles/xhprof-acquia-dev-
desktop-mac-osx
1. Edit php.ini
2. Restart apache
3. Create output directory for data
4. Install and enable the xhprof module
5. Configure the module
Chrome Extensions 7/7
1. Setup PHPStorm Xdebug Chrome extension
https://confluence.jetbrains.
com/display/PhpStorm/Configure+Xdebug+Helper+for+Chrome+to+be+used+
with+PhpStorm
2. Setup Acquia Log Viewer Chrome extension
https://dev.acquia.com/blog/announcing-the-acquia-cloud-log-streaming-
chrome-extension/11/01/2016/8396
CLI
Commands
Drush
● update core and contrib
● download modules
● enable modules
● clear cache
● update db
● run cron
● import config
● export config
● create user
● change password
● one time login
● backup drupal
● restore drupal
● compile twig templates
● type “drush” to get a full list
● http://www.drushcommands.com/
Drupal Console
● update modules and core
● download modules
● enable modules
● clear cache
● update db
● run cron
● import config
● export config
● generate console command
● generate entity
● generate content type
● generate module
● run unit tests
● type “drupal list” for a full list
● https://drupalconsole.com/docs
Create
module and
entity
Test out
tools
Homework
This webinar is intended to introduce you to these developer tools, and help you get them setup for
your use. However, there is still plenty of work you need to do to learn how to use them. Some
suggested homework to help you:
● Start using these tools in your daily work
● Help to test and port modules
● Create a new module or theme
● Help someone else get these tools setup
● Dive into PHPStorm’s features
● Learn one new CLI command a day
● Blog about your experiences
● Present a session at a DUG or Camp
Thank you!

More Related Content

PDF
Drupal + composer = new love !?
PDF
Efficient development workflows with composer
PDF
Efficient development workflows with composer
PDF
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
PDF
Upgrading to Drupal 9
PDF
Acquia BLT for the Win, or How to speed up the project setup, development an...
PDF
Docker, Ansible and Symfony micro-kernel
PDF
[drupalday2017] - Devel - D8 release party
Drupal + composer = new love !?
Efficient development workflows with composer
Efficient development workflows with composer
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Upgrading to Drupal 9
Acquia BLT for the Win, or How to speed up the project setup, development an...
Docker, Ansible and Symfony micro-kernel
[drupalday2017] - Devel - D8 release party

What's hot (20)

PDF
OpenCms Days 2013 - Start rolling with OpenCms 9
PDF
Composer and deployer for enterprise
PDF
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
PDF
Terminus, the Pantheon command-line interface
PDF
Magento 2 Capistrano Deploy
PDF
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
PDF
OpenCms Days 2015 How do you develop for OpenCms?
PDF
OpenCms Days 2014 - Updating to OpenCms 9.5
PDF
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
PDF
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
PDF
Using Composer with Drupal and Drush
PDF
Lean Drupal Repositories with Composer and Drush
PDF
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
PDF
Drush for humans - SANDcamp 2013
PPTX
Gulp and bower Implementation
PDF
Devel for Drupal 8
PDF
DevHub 3 - Composer plus Magento
PDF
Dependency management in Magento with Composer
PDF
Drupal Developer Days Keynote
PDF
Continuous Delivery com Docker, OpenShift e Jenkins
OpenCms Days 2013 - Start rolling with OpenCms 9
Composer and deployer for enterprise
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
Terminus, the Pantheon command-line interface
Magento 2 Capistrano Deploy
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2014 - Updating to OpenCms 9.5
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
Using Composer with Drupal and Drush
Lean Drupal Repositories with Composer and Drush
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
Drush for humans - SANDcamp 2013
Gulp and bower Implementation
Devel for Drupal 8
DevHub 3 - Composer plus Magento
Dependency management in Magento with Composer
Drupal Developer Days Keynote
Continuous Delivery com Docker, OpenShift e Jenkins
Ad

Viewers also liked (14)

PPT
Presentació Web de Sant Climent de Llobregat a Drupal.cat
PDF
Why Drupal 8? Why now? FEB/MAR 2015
PPTX
Fundacio Cim Drupal Camp 2010
PPTX
¿Qué es drupal?
PDF
Todo lo que necesitas saber sobre Drupal 8
PDF
The Future of a Content-Driven World: How To Prepare Your Team
PDF
Everything You Need to Know About the Top Changes in Drupal 8
PPTX
Acquia Content Hub: Connect Technologies & Extend Systems to Source Content
PDF
Drupal 8 Quick Start: An Overview of Lightning
PPTX
Lightning Distribution for Drupal: Build Advanced Authoring Experiences in Dr...
PDF
Business Benefits of Drupal 8: Empower Digital Innovation with the Newest Ver...
PDF
Drupal 8: The Foundation for Digital Experience and Digital Business
PDF
Drupal 8 - A Brief Introduction
PDF
Why Drupal 8 Is a Game Changer for Higher Education
Presentació Web de Sant Climent de Llobregat a Drupal.cat
Why Drupal 8? Why now? FEB/MAR 2015
Fundacio Cim Drupal Camp 2010
¿Qué es drupal?
Todo lo que necesitas saber sobre Drupal 8
The Future of a Content-Driven World: How To Prepare Your Team
Everything You Need to Know About the Top Changes in Drupal 8
Acquia Content Hub: Connect Technologies & Extend Systems to Source Content
Drupal 8 Quick Start: An Overview of Lightning
Lightning Distribution for Drupal: Build Advanced Authoring Experiences in Dr...
Business Benefits of Drupal 8: Empower Digital Innovation with the Newest Ver...
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8 - A Brief Introduction
Why Drupal 8 Is a Game Changer for Higher Education
Ad

Similar to Drupal 8 improvements for developer productivity php symfony and more (20)

PDF
Modernize Your Drupal Development
PDF
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
PPTX
Drupal 8 - Improving your development workflow
ODP
Drupal in 5mins + Previewing Drupal 8.x
PDF
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
PDF
Improving your Drupal 8 development workflow DrupalCampLA
PDF
Super powered Drupal development with docker
PPTX
Blt introduction
PDF
Introduction to Drupal - Installation, Anatomy, Terminologies
PPTX
Becoming A Drupal Master Builder
PDF
Docker4Drupal 2.1 for Development
PDF
Face your fears: Drush and Aegir
PDF
Development Setup of B-Translator
PPTX
Composer JSON kills make files
PDF
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
PDF
Drupal 8 - Core and API Changes
PDF
Drupal Best Practices
PDF
Introduction to Docker and Monitoring with InfluxData
PPTX
Exploring composer in drupal 8 with drupal project - salva molina
PPTX
Drupal 8 cli
Modernize Your Drupal Development
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Drupal 8 - Improving your development workflow
Drupal in 5mins + Previewing Drupal 8.x
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Improving your Drupal 8 development workflow DrupalCampLA
Super powered Drupal development with docker
Blt introduction
Introduction to Drupal - Installation, Anatomy, Terminologies
Becoming A Drupal Master Builder
Docker4Drupal 2.1 for Development
Face your fears: Drush and Aegir
Development Setup of B-Translator
Composer JSON kills make files
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...
Drupal 8 - Core and API Changes
Drupal Best Practices
Introduction to Docker and Monitoring with InfluxData
Exploring composer in drupal 8 with drupal project - salva molina
Drupal 8 cli

More from Acquia (20)

PDF
Acquia_Adcetera Webinar_Marketing Automation.pdf
PDF
Acquia Webinar Deck - 9_13 .pdf
PDF
Taking Your Multi-Site Management at Scale to the Next Level
PDF
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
PDF
May Partner Bootcamp 2022
PDF
April Partner Bootcamp 2022
PDF
How to Unify Brand Experience: A Hootsuite Story
PDF
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
PDF
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
PDF
September Partner Bootcamp
PDF
August partner bootcamp
PDF
July 2021 Partner Bootcamp
PDF
May Partner Bootcamp
PDF
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
PDF
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
PDF
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
PDF
April partner bootcamp deck cookieless future
PDF
How to enhance cx through personalised, automated solutions
PDF
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
PDF
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia Webinar Deck - 9_13 .pdf
Taking Your Multi-Site Management at Scale to the Next Level
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
May Partner Bootcamp 2022
April Partner Bootcamp 2022
How to Unify Brand Experience: A Hootsuite Story
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
September Partner Bootcamp
August partner bootcamp
July 2021 Partner Bootcamp
May Partner Bootcamp
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
April partner bootcamp deck cookieless future
How to enhance cx through personalised, automated solutions
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021

Recently uploaded (20)

PDF
MCP Security Tutorial - Beginner to Advanced
PDF
AI Guide for Business Growth - Arna Softech
PDF
Microsoft Office 365 Crack Download Free
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Cybersecurity: Protecting the Digital World
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
Visual explanation of Dijkstra's Algorithm using Python
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PPTX
assetexplorer- product-overview - presentation
PPTX
Computer Software - Technology and Livelihood Education
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PPTX
Monitoring Stack: Grafana, Loki & Promtail
MCP Security Tutorial - Beginner to Advanced
AI Guide for Business Growth - Arna Softech
Microsoft Office 365 Crack Download Free
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Designing Intelligence for the Shop Floor.pdf
Cybersecurity: Protecting the Digital World
GSA Content Generator Crack (2025 Latest)
Visual explanation of Dijkstra's Algorithm using Python
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
assetexplorer- product-overview - presentation
Computer Software - Technology and Livelihood Education
Salesforce Agentforce AI Implementation.pdf
Advanced SystemCare Ultimate Crack + Portable (2025)
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Wondershare Recoverit Full Crack New Version (Latest 2025)
Monitoring Stack: Grafana, Loki & Promtail

Drupal 8 improvements for developer productivity php symfony and more

  • 1. Drupal 8 Improvements for Developer Productivity: PHP, Symfony, and More
  • 2. Who am I? Ron Northcutt Solutions Architect, Acquia ● using Drupal since 4.7 (circa 2006) ● freelance developer ● small dev shop ● sr. developer & tech lead ● solutions architect Find me online: https://www.drupal.org/u/rlnorthcutt https://www.linkedin.com/in/rlnorthcutt https://twitter.com/rlnorthcutt https://plus.google.com/+RonNorthcutt
  • 3. Agenda ● Setup all the dev tools ● Review CLI commands ● Create a sample module ● Explore tools ● Chrome extensions
  • 5. DD2 and PHPStorm 1/7 ● Dev Desktop 2 https://www.acquia.com/products-services/dev-desktop ○ full LAMP stack with configurable PHP versions ○ includes drush ○ includes PHPMyAdmin ○ integration with Acquia Cloud ● PHPStorm http://www.jetbrains.com/phpstorm/ ○ free 30 day trial then $90, or ○ possible free license for OSS projects ○ http://confluence.jetbrains.com/display/PhpStorm/Drupal+Development+using+PhpStorm
  • 6. Xdebug 2/7 Xdebug setup instructions: https://docs.acquia.com/dev-desktop/sites/phpstorm 1. Edit php.ini 2. Restart apache 3. Configure PHPStorm to use Xdebug 4. Add your site as a project 5. Configure remote debug
  • 7. Drupal Console 3/7 Drupal console setup instructions: https://drupalconsole.com/ 1. Download the latest Console version: curl https://drupalconsole.com/installer -L -o drupal.phar 2. Make it accessible anywhere on your system: mv drupal.phar /usr/local/bin/drupal 3. Apply executable permissions on the downloaded file: chmod +x /usr/local/bin/drupal 4. Copy configuration files to user home directory: drupal init [--override] 5. List all available commands: drupal list
  • 8. Composer Manager 4/7 Composer Manager project page: https://www.drupal.org/project/composer_manager “Composer expects each project (Drupal installation, in our case) to have a single composer.json file listing all required packages. Composer Manager allows each contributed module to ship with its own composer.json file, listing the module-specific requirements. It then merges the requirements of all found modules into the consolidated composer.json file. This results in a single vendor/ directory shared across all modules which prevents code duplication and version mismatches.” 1. drush dl composer_manager -y 2. drush en composer_manager -y 3. composer drupal-update --no-dev
  • 9. Devel and Webprofiler 5/7 Devel project page: https://www.drupal.org/project/devel Devel Helper functions for Drupal developers and inquisitive admins. Enable the included Kint submodule as for pretty print of variables. kint($array) function is provided, which pretty prints arrays. Useful during development. Similarly, a ddebug_backtrace() is offered. WebProfiler (D8+) Add a powerful footer to all pages of your site. There, admins can review resource utilization, cache effectiveness, database queries, Views, and so much more. 1. drush dl devel -y 2. drush en devel webprofiler -y 3. optional : install additional js libraries for webprofiler (see status page)
  • 10. Xhprof 6/7 Xhprof setup instructions: https://docs.acquia.com/articles/xhprof-acquia-dev- desktop-mac-osx 1. Edit php.ini 2. Restart apache 3. Create output directory for data 4. Install and enable the xhprof module 5. Configure the module
  • 11. Chrome Extensions 7/7 1. Setup PHPStorm Xdebug Chrome extension https://confluence.jetbrains. com/display/PhpStorm/Configure+Xdebug+Helper+for+Chrome+to+be+used+ with+PhpStorm 2. Setup Acquia Log Viewer Chrome extension https://dev.acquia.com/blog/announcing-the-acquia-cloud-log-streaming- chrome-extension/11/01/2016/8396
  • 13. Drush ● update core and contrib ● download modules ● enable modules ● clear cache ● update db ● run cron ● import config ● export config ● create user ● change password ● one time login ● backup drupal ● restore drupal ● compile twig templates ● type “drush” to get a full list ● http://www.drushcommands.com/
  • 14. Drupal Console ● update modules and core ● download modules ● enable modules ● clear cache ● update db ● run cron ● import config ● export config ● generate console command ● generate entity ● generate content type ● generate module ● run unit tests ● type “drupal list” for a full list ● https://drupalconsole.com/docs
  • 17. Homework This webinar is intended to introduce you to these developer tools, and help you get them setup for your use. However, there is still plenty of work you need to do to learn how to use them. Some suggested homework to help you: ● Start using these tools in your daily work ● Help to test and port modules ● Create a new module or theme ● Help someone else get these tools setup ● Dive into PHPStorm’s features ● Learn one new CLI command a day ● Blog about your experiences ● Present a session at a DUG or Camp