PHP frameworks

A real Zend Expressive application on the IBM i

Clark Everetts

You've heard about Zend Expressive, PSR-7, HTTP messages, and middleware. How about a real Zend Expressive application that starts with CRUD but goes just a bit beyond? How should models invoke RPG, DB2 queries, and SQL stored procedures? Where are "the controllers?" How do we handle issues like sessions, authentication, and access control with middleware? This is not the standard sample application; this one is for you, IBM i developers, with a 5250-based Order Entry/Lookup application to start from as a point of reference.

Be ready For ZF3

Gary Hockin

Zend Framework 3 is here!

While the upgrade path from ZF2 to ZF3 is nowhere near as complicated as from ZF1 to ZF2, there are still plenty of things the prepared developer needs to know to make upgrading as seamless as possible.

In this session, we'll cover the backwards compatibility breaks and which parts of your application you'll need to rewrite, but also the forward facing changes that are in ZF2 right now that allow you to make many of your changes before you even upgrade to ZF3.

Build web APIs using Zend Expressive, the way to Apigility 2.0!

Enrico Zimuel

In this talk, I'll show how to create web APIs using a middleware architecture with Zend Expressive. I will present different use cases from a simple RPC example to a complete RESTful API with OAuth2 authentication. The ideas presented in this talk will be part of the new architecture of Apigility 2.0 (don't tell anyone!).

Build your framework like Constructicons

Stefan Koopmanschap

While we have a strong offering of full-stack frameworks and microframeworks, the rise of components and libraries combined with Composer allows us to easily build our own framework without reinventing the wheel. In this talk, you'll learn how the total can be more than the sum of the parts, just like how Devastator was stronger than the individual Constructicons in Transformers.

Building powerful and scalable micro applications with Zend Expressive

Matthew Setter

Zend Expressive is the new shiny framework for building micro applications in PHP. Whether you're building a single page app, an API, or a full-stack application - one backed by container-provided services - Zend Expressive has you covered. In this talk, we'll show you how to build a basic single-page application, then refactor it several times until it uses templating, efficient routing, and a database, with a container providing all the services.

Building tools people love to use

Taylor Otwell

Don't understand why WordPress runs 80 percent of the internet while your perfectly engineered and de-coupled CMS only has 10 users? This talk is for you. Why are some tools popular while others aren't? In this talk, we'll dive into what actually makes a library popular, and how you can give your open source side-project a better chance of succeeding. We'll discuss superpower syntax, the battle between perfection and pragmatism, and code as user experience.

Console Apps: php artisan forthe:win

Joe Ferguson

Laravel is a great framework to use for web applications but what if you need to do more? What if you need to process data that would take longer than an HTTP request would allow?

Come learn how to harness the power of the console in your Laravel applications to do various tasks such as caching data from 3rd party APIs, expire old content from S3 or other data store, and batch process huge data sets without users having to wait for results. You can even automate tasks such as backing up your remote databases before you run migrations with artisan commands.

We'll cover creating basic artisan console commands, adding options and passing input, setting up cron jobs and scheduling our console commands to run at specific times, and how you can utilize 3rd party APIs to create fun automated message processing for social media networks.

Create PHPantastic packages

Matthew Weier O'Phinney

You've created a solution in a niche problem space, and now want to open source it; how do you go about doing so? What license will you choose? How will you prevent backwards compatibility breaks? How will you ensure consistency amongst diverse contributors? In this session we'll go over the various aspects of good package design and tools you can use to ensure great quality and collaboration.

Kicking off with Zend Expressive and Doctrine ORM

James Titcumb

You've heard of the new Zend framework, Expressive, and you've heard it's the new hotness. In this talk, I will introduce the concepts of Expressive, how to bootstrap a simple application with the framework using best practices, and how to integrate a third party tool like Doctrine ORM.

Laravel: How the sausage is made

Taylor Otwell

Laravel is a powerful web application framework with a robust set of modern features such as job queueing, middleware, database abstraction and migrations, and even a task scheduler. In this talk, we'll dive deep into Laravel's architecture and how it all works. If you're comfortable with PHP, frameworks, and want to get into the nitty gritty details of what makes Laravel tick, this is the talk for you. We'll explore concepts like middleware, kernels, dependency injection, facades, service providers, and more to discover the foundation of Laravel.

Modernize your app with Zend Expressive

Jan Burkl

In the last couple of years, I've seen many different applications: Spaghetti code, framework-based apps, and good or bad code quality.

But there's one thing most of them have in common at a certain point in time: For different reasons, it's hard to migrate to the state-of-the-art programming methodology. And now Zend Expressive comes into play. Zend Expressive is not only a slim middleware framework which implements the PSR-7 standard, but thanks to its simple base concept, Expressive is great as a quick start for your migration project and a smooth transition to the next generation of the app.

See in this session best practices on how to bridge your legacy system - like a ZF1 or Symfony 1 application - to Expressive and move it to the next level.

Powerful & flexible SQL generation — without the hassle

Matthew Setter

PHP is almost synonymous with databases, and it has been since the early versions. But creating SQL queries can still be a challenging task. What's the right tool to use? ORMs often feel like overkill, and creating queries by hand can be unmaintainable. In this session, we'll show you how to use the ZendDb library to generate SQL queries — from simple selects to more complex unions, filtered deletions, and updates. You'll learn how to use the library for creating flexible, secure, maintainable, and reusable queries, quickly and efficiently, saving you time and effort in the long term.

Symfony2 best practices from the trenches

Stefan Koopmanschap

Symfony2 is a great framework and getting your first application up is easy. The documentation of Symfony2 is good but there's only so much that documentation can teach you. Many details and best practices are best learned while you're working on your project. During this talk, you'll be bombarded with those small pieces of knowledge and experience learned from the trenches of actual Symfony2 projects, where developers had to dodge those bullets Matrix-style. Whether it's about that little configuration detail you always forget or a good way of abstracting logic into the right pieces, we'll cover it all.

Test driven Laravel

Adam Wathan

Learning how to test code can be overwhelming. Sure, building a calculator with TDD is easy, but when trying to build a real application, things get complicated fast. What's the difference between a mock and a stub? Are my tests allowed to hit the database? How do I test this billing code that interacts with Stripe?

Together we'll TDD a fresh Laravel app from scratch, never writing a line of code without writing a test first. I'll show how to get the ball rolling with an application's very first test, how to add new features with outside-in TDD, and how to design tests that make it easy to refactor with confidence.

Use Zend components anywhere

Matthew Weier O'Phinney

Composer allows you to manage per-project dependencies, and to select components that best solve your application problems, regardless of what framework you use. This past year, Zend Framework has decoupled its components to fit this paradigm, letting you use Zend components anywhere. In this session we'll cherry pick several of them, demonstrating usage in diverse, real-world applications.

Zend Framework 2 and 3 for the IBM i

Stephanie Rabbani

Zend Framework 2 and 3 are great choices for your larger web applications on the IBM i.

In this talk you'll learn:

  • What Zend Framework is and its benefits
  • Set up and configuration for the IBM i
  • How to use Zend\Db for database access
  • Differences and gotchas between Zend Framework 2 and 3
  • Introduction to the service manager and the events manager