Below is a full listing of the 3-hour in-depth SunshinePHP tutorials to be presented on February 6th the day prior to the official conference.
NOTE: In order to attend these 3-hour in-depth tutorials an additional ticket for the tutorial day must be purchased from the Registration page.
BDD API Tests with Gherkin and Behat
_Given_ the prominence of API-first development _when_ developing web applications, projects _then_ need to be tested beyond unit and functional tests. Authoring tests using the Gherkin with Behat provides a way to achieve BDD with APIs. We'll dive right into writing Gherkin, how to create your own test scenarios in Gherkin, and how to hook those tests up with custom PHP test methods. See tests in action with live coding and live demos, including writing new custom tests. Leave excited to produce fully-tested APIs!
Evolution of PHP Security
Regardless of reports to the contrary, PHP is a modern, scalable, secure programming language suitable for any number of applications. As with any other language or tool, PHP can only be used securely if the developers using it wield their tools safely.
This training class will walk through best practices in:
* Password management (including hashing)
* Credentials management (API keys)
* Data encryption (both local and remote)
* Data integrity (i.e., signing and authentication)
* Server hardening
Attendees will leave with a better understanding of PHP and how to use it in secure applications.
Attendees should have an operable PHP environment before arriving. They will be given a code repo to use during the training class which will demonstrate the principles being discussed and allows them to practice from-scratch implementations in code.
Getting started with PHP Codesniffer
Juliette Reinders Folmer
So you'd heard of the PHP Codesniffer and thought you'd give it a try. You set it up & ran it over one of your projects and it tells you there are over 6000 things wrong with your code... Darn... that sounds like work. Let's leave it for another day....
In this workshop I'll help you to properly get started with PHPCS. Everyone can bring their own project to work on.
We'll look at the different rulesets available, select the one(s) which will work best for your project. Next, we'll look at customizing the ruleset to best suit your project & team's needs and we'll start auto-fixing issues. If all goes well, those 6000 things "wrong" will be down to zilch by the end of the workshop & you've got a pull request ready to prove it!
Getting to Grips with Git
In this tutorial we'll get hands on with atomic commits and all they have to offer. We'll be learning how to keep our history clean, how to navigate time and space, and how to correct mistakes we thought were permanent. Key things we'll be tackling during this tutorial include, but are not limited to, interactive rebase, reflog, and running bisect with regression tests.
Hands on Docker - Launch your own LEMP or LAMP stack
In this tutorial we will go over setting up a standard LEMP stack for development use and learn how to modify it to mimic your production/pre-production environments as closely as possible. We will go over how to switch from Nginx to Apache, upgrade PHP versions and introduce additional storage engines such as Redis to the equation. We'll also step through how to run both unit and acceptance suites using headless Selenium images in the stack. Leave here fully confident in knowing that whatever environment you get thrown into, you can replicate it and work in it comfortably.
Powering Your API Development with OpenAPI Version 3
OpenAPI is more than just a documentation tool - even though it's great for that! As the tooling for OpenAPI version 3 has matured, there are now more opportunities to use OpenAPI to make your API development faster, easier, and more resilient. In this talk you'll learn how to use the OpenAPI spec and tools in the Open API ecosystem to power:
- Mock servers to test your API before it exists
- Integration tests to ensure that your API responses meet your specification
- Validation logic
In this workshop we'll work together to build a simple API with documentation, testing, validation, and a simple front-end all powered by the spec.