BRIEFS logo BRIEFS

Episode 44 - What Are Delegator Factories and Why You Should Use Them

06/28/2018 , 2m, 49s

Ever wanted to dynamically add functionality to services you retrieve from your DI container — without creating custom versions or long inheritance hierarchies?

Do you want to do it in a simple, clear, and well structured way? If so, then tune into this episode and learn about delegator factories. They're an advanced and very powerful technique for handling just this situation.

Grab a cup of your favourite beverage, have a listen to the episode and find out more about them.

As always, tweet me at @zfmastery (https://twitter.com/zfmastery) with any questions and input.

Links

Questions/Comments/Suggestions

Tweet me at @zfmastery (https://twitter.com/zfmastery)

Episode 43 - The Latest Post Now Covers Composer Commands!

11/30/2017 , 2m, 45s

Just a quick one to mention that the most recent post: What Does It Take To Start Using Zend Expressive?, has been updated.

It now covers the Composer scripts that come with projects created with the Zend Expressive Skeleton Installer.

Grab a cup of your favourite beverage, have a listen to the episode and find out more about the Composer scripts that make working with Zend Expressive simpler and easier.

As always, tweet me at @zfmastery (https://twitter.com/zfmastery) with any questions and input.

Links

Questions/Comments/Suggestions

Tweet me at @zfmastery (https://twitter.com/zfmastery)

Episode 42 - What Does It Take To Start Using Zend Expressive?

11/20/2017 , 2m, 54s

What does it take to start using Zend Expressive? That’s the question I ask in the latest post on Master Zend Framework and discuss in this episode.

Honestly, Zend Framework — and especially Zend Expressive — aren’t hard to get started with! So in this episode (and post) I set out to explode that myth.

Along with that, I’ve got some community news, specifically posts in the community, along with some package updates.

Grab a cup of your favourite beverage, have a listen to the episode and find out more about the first module of the upcoming course.

As always, tweet me at @zfmastery (https://twitter.com/zfmastery) with any questions and input.

Links

Questions/Comments/Suggestions

Tweet me at @zfmastery (https://twitter.com/zfmastery)

Episode 41 - The First Module of Zend Expressive Essentials is Ready

11/17/2017 , 2m, 48s

A quick, impromptu, episode to let you know that I’ve finished the first module of the upcoming Zend Expressive Essentials course!

I don’t mean to overload you with plugs about me, but I’m super excited about this course and that I’ve completed the first module.

It’s not a big module, but it sets the scene and helps get things started!

Grab a cup of your favourite beverage, have a listen to the episode and find out more about the first module of the upcoming course.

As always, tweet me at @zfmastery (https://twitter.com/zfmastery) with any questions and input.

Links

Questions/Comments/Suggestions

Tweet me at @zfmastery (https://twitter.com/zfmastery)

Episode 40 - Zend Expressive Essentials - The Course - Is Underway

11/11/2017 , 2m, 54s

In this episode, I’m super excited to announce that Pluralsight have given me the go-ahead to create a new course: Zend Expressive Essentials!

That’s right, a new course, based on the recently published book (of the same name) Zend Expressive Essentials. If you bought the book, I’m confident you’ll be interested in taking the course.

If you didn’t buy the book, here’s a sneak peak at what’s on offer:

  • An Introduction to Zend Expressive (core concepts and theory).
  • Creation of an application by hand.
  • Creation of an application using the command-line tooling support.
  • Integration of third-party libraries and packages.
  • Creation of powerful middleware pipelines.

Grab a cup of your favourite beverage, have a listen to the episode and find out more about the upcoming course, and tweet me at @zfmastery with any questions and input.

Links

Questions/Comments/Suggestions

Tweet me at @zfmastery (https://twitter.com/zfmastery)

Episode 39 - What Packages Do You Use in Your Zend Framework Projects?

09/26/2017 , 2m, 59s

In this episode, I’m curious to find out what packages you use in your Zend Framework projects.

This, as I go into in the episode, was prompted by what Jan Burkl said in his Middleware talk at PHP Day 2017, in Dresden, last weekend.

So I’m keen to find out how your projects are composed, what packages you use by default, when Zend Framework (1, 2, or Expressive) are the core framework that underpins your application.

Grab a cup of your favourite beverage, have a listen to the episode, tweet me at @zfmastery (https://twitter.com/zfmastery) with any questions, and check out the links below.

Questions/Comments/Suggestions

Tweet me at @zfmastery (https://twitter.com/zfmastery)

Links

Episode 38 - The Zend Expressive Essentials Post-mortem

09/18/2017 , 2m, 55s

In this episode, I’m having a quick post-mortem about the Zend Expressive Essentials book, which is now on sale.

I’ve loved writing the book and the accompanying code, and I’m thrilled that it’s selling so well. But it's always good, to be honest about what didn’t go so well, and where things could have gone better.

In this episode, I do just that, in so much as I can with an episode limit of 3 minutes.

Grab a cup of your favourite beverage, have a listen to the episode, tweet me at @zfmastery with any questions, and check out the links below.

Episode 37 - Zend Expressive Essentials Is On Sale!

09/04/2017 , 2m, 41s

At long last, I’m excited to say that the Zend Expressive Essentials book is now on sale. It’s been a while in coming, but it’s here.

If you weren’t aware that I was writing it, it’s a book that teaches the fundamentals of Zend Expressive so that you can begin building applications right away.

It's a practical, hands-on approach, which shows you just enough of how Expressive is put together and how to use it, while not getting lost in things that aren't necessary.

Today, I’m getting a bit excited, a bit effervescent that it’s ready. If you’ve already bought a copy, email me your feedback. I’m very keen to know what you think, and where I can improve it.

Grab a cup of your favourite beverage, have a listen to the episode, tweet me at @zfmastery with any questions, and check out the links below.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Links

Episode 36 - A Rapid Intro to Delegator Factories

08/15/2017 , 2m, 56s

In this episode, come get a quick introduction to a very powerful feature in Zend ServiceManager, called Delegator Factories.

Delegator Factories are:

pretty much, a wrapper around a real factory: it allows us to either replace the actual service with a delegate or interact with an object produced by a factory before it is returned by the Zend\ServiceManager.

They’re a very powerful feature that Matthew Weier O’Phinney put me onto while I’ve been writing the new book Zend Expressive Essentials. I was stand-offish at first, but have been blown away by the power and flexibility that they offer.

If you’re keen to find out how to create powerful and flexible middleware pipelines, then grab a cup of your favourite beverage, have a listen to the episode, tweet me at @zfmastery with any questions, and check out the links below.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Links

Episode 35 - Zend Expressive Essentials Update

08/11/2017 , 2m, 54s

In this episode, I share a progress update on the Zend Expressive Essentials book and course (which is soooo close to completion) and say a little mea culpa (I’m sorry) for not being consistent with the podcast.

Grab a cup of your favourite beverage, have a listen to the episode, and tweet me at @zfmastery with any questions.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Links

Episode 34 - How to Create a Zend Expressive Module

07/26/2017 , 2m, 50s

In this episode, we’re discussing the latest tutorial on Master Zend Framework that shows how to create a basic module in Zend Expressive.

If you’ve never created a module before, or if you’re keen to get started, then this is the episode for you.

You’ll learn the core dependencies that you’ll need to get started, along with the essential classes and configuration.

You’ll even learn a bit about how to use Composer’s event-handling functionality to create a stream-lined installation process.

Grab a cup of your favourite beverage, have a listen to the episode, and tweet me at @zfmastery with any questions.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Links

Episode 33 - Where are the missing episodes?

07/17/2017 , 2m, 45s

In this episode, I’m not saying anything at all about Zend Framework, Zend Expressive — even PHP. Strange, hey?

Why? Well, this is a quick episode to explain why the episode numbers are missing a few in the sequence of late.

Grab a cup of your favourite beverage, have a listen to the episode, and I’ll tell you everything.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 32 - Is this the right way to develop a Zend Expressive Module?

07/14/2017 , 2m, 42s

In this episode, I have a question that I hope you can help me answer:

Is this the right way to develop a Zend Expressive Module?

Have a listen to the episode and let me know because I’m keen for your thoughts. I’m creating a new module which will handle rendering static pages in a Zend Expressive project.

The question is, I’m not sure if the approach that I’ve taken by using Docker is the right one. It’s been a bit of work to get to this stage, and it sure feels right. But I’m not 100% certain.

So, grab a cup of your favourite beverage, have a listen to the episode, and tweet me at @zfmastery if you agree with my approach or not.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Links

Episode 29 - What is Your Favourite (or not so preferred) Part of Zend Expressive

07/04/2017 , 1m, 50s

In this episode, I’m handing control over to you! That’s right, I want to know what your favourite (or not so preferred) aspect of Zend Expressive and/or Zend Framework are.

Why? Because I want to continue improving the quality of the tutorials (as always). And I can only do this by getting your input.

So, grab a cup of your favourite beverage, have a listen to the episode, and share your thoughts, input, feedback, and ideas with me - @zfmastery.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 28 - How to Migrate from Zend Expressive Version 1 to 2 with Command-Line Tooling Support

06/27/2017 , 2m, 44s

In this episode, I’m discussing the latest tutorial: How to Migrate from Zend Expressive Version 1 to 2 with Command-Line Tooling Support.

It picks up where the previous one left off, and shows, as the title indicates, how to migrate Zend Expressive applications from version 1 to 2.

I’m so excited about this tutorial, as it gets to showcase the ever-growing tooling support available in Zend Framework/Expressive.

Plus, all the exciting new features and improvements in Zend Expressive v2 make it compelling to upgrade.

Grab a warm beverage, and come find out more about migrating your apps with Zend Expressive Tooling!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 27 - Introducing the Zend Expressive Essentials Book & Course

06/19/2017 , 2m, 43s

If you're getting a lot out of the Zend Expressive tutorials on Master Zend Framework, then you're going to love the new book and course that I'm creating!

That's right — in case you've not heard, I'm working on a new book and course called Zend Expressive Essentials. It will teach you the essentials that you need to know to build applications with Zend Expressive.

You won't be overwhelmed with loads of theory or every possible thing that you may need to know — just the essentials.

If you're keen to find out more, grab a warm (or cold) beverage and come listen and find out more about what's in store! I'd really appreciate it if you would please share your email address with me, so that I know that you're interested.

That way, I'll have even more incentive to make it the best book and course that I can possibly create.

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 26 - Create Modules and Middleware with Command-Line Tooling Support

06/12/2017 , 2m, 51s

In this episode, I’m discussing the latest tutorial: Create Modules and Middleware with Command-Line Tooling Support.

As a bit of background, Zend Framework hasn't had the strongest command-line tooling and scaffolding support, in stark contrast, other frameworks.

However, that's all changed!

In this tutorial, I’m walking you through how to use the Zend Expressive Tooling package to create modules and to migrate from version 1 to version 2 of Zend Expressive.

In this episode of the podcast, I give you a quick overview of what to expect in the tutorial, plus a bit more background information about the package.

Grab a warm beverage, and come find out more about Zend Expressive Tooling!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 25 - How to Go From Development to Deployment with Docker

06/06/2017 , 2m, 40s

In this episode, I’m discussing the latest tutorial on the blog: How to Go From Development to Deployment with Docker.

It’s a truly BLOCKBUSTER of a post, weighing in at 3,200 words, one far larger than any other that I’ve written for the site.

But don’t let the size put you off though. It’s broken down into four easily digestible sections:

  1. Create & Build the Container
  2. Store the Image in an Accessible Registry
  3. Build a Deployment Configuration
  4. Make the Deployment

Whether you’re just starting out on your Docker journey, whether you know your way around, or whether you’re itching to know how to deploy an app to production — this post is for YOU!

Grab a warm beverage, and come find out more about it!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 24 - Reflection Based Abstract Factory Overview

02/07/2017 , 2m, 44s

In this episode, we’re talking about how to do rapid application prototyping and development with Zend Framework, by using the ReflectionBasedAbstractFactory.

If you’ve not heard of it, it makes Zend Framework more Laravel-like, by (largely) avoiding the need to create factories to instantiate classes. I’m sure you’ll agree that this represents a MASSIVE time saver.

It’s an excellent addition to Zend ServiceManager, one I’m sure will quickly gain a lot of traction.

Grab a warm beverage, and come find out more about it!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 23 - FactoryCreator and ConfigDumper - Overview

01/27/2017 , 2m, 48s

In this episode, I’m talking, broadly, about the two latest tutorials on Master Zend Framework; those being:

These tutorials begin the exploration of some excellent new features in the latest version of Zend ServiceManager 3.2.0. What’s more, Gary Hockin, one of the core developers behind these changes, shared some interesting tidbits about where tooling’s headed in Zend ServiceManager as well.

So, grab a warm beverage, and come find out more!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 22 - How To Use Forked Repositories In Composer

01/27/2017 , 2m, 29s

In this episode, we continue on the journey of Composer discovery, discussing the recent tutorial How To Use Forked Repositories In Composer, which dug deep into how to use forked repositories with Composer.

This is a very compelling part of Composer, one which can make your development life a breeze — if you let it.

Not sure why you might?

Have you ever submitted a patch to a repository which your application relies on, but, because that patch is vital to the uptime of your application, you can’t wait for it to be reviewed and merged into the next release?

In times like these, it’s fair to want them to move faster than they normally would, so that you don’t have to wait for the normal review, merge, and release cycles.

So, grab a warm beverage, and come find out more!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 21 - How To Automate Projects Using Composer Scripts

12/07/2016 , 2m, 31s

In this episode, we continue on the journey of Composer discovery, discussing the latest tutorial on Master Zend Framework, which dives deep into the scripts section of composer.json.

Not heard of the scripts section? In a nutshell, it:

  • Lets you automate all the things Stops you having to remember commands with stacks of command line switches, options, and configurations

You can even stack commands together to make your life even easier!

Grab a warm beverage, and come find out more!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 20 - The Composer Command-Line Essentials

11/29/2016 , 2m, 36s

In this episode, let’s look at one of the most essential tools in Zend Framework’s (and PHP’s) wider ecosystem - Composer. I’m sure you’ve heard of and used it.

But how well do you really know it? Do you just know composer install, update, and require, and some of the composer.json configuration? Or do you really know it?

In this series, you’re going to take your skills to the next level; starting with the command-line.

Grab a warm beverage, and come find out more!

Further Reading

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 19 - Have YOUR Say

11/22/2016 , 2m, 46s

In this episode, I’m stepping back a bit from the usual flow and turning the mic over to you. I’m keen to find out exactly what you want to learn about Zend Framework, what the one feature is that you’re keen to know about.

If there’s some way in which I can help you learn more effectively, more deeply, I’d love to know.

Grab a warm beverage, and come find out more!

Questions/Comments/Suggestions

Tweet me at @zfmastery

Episode 18 - How To Simplify Expressive Configuration with Interop-Config

11/16/2016 , 2m, 30s

In this episode, I'm back, talking about the excellent package Interop-Config by Sandro Keil. Interop-Config helps ensure that you have a valid configuration for your code. It can provide default options, as well as enforce mandatory options, ensuring that it has a well laid out structure, and is easy to understand.

Grab a warm beverage, and come find out more!

Questions/Comments/Suggestions

Tweet me at @zfmastery

Further Reading

Episode 17 - How To Build a Docker Test Environment

09/27/2016 , 2m, 40s

In this episode, I'm really excited to continue on with the Developing with Docker series and show how to run tests in the environment which we've created.

Grab a warm beverage, and find out more.

Questions/Comments/Suggestions

@zfmastery

Further Reading

Episode 16 - Whoops, I Forgot The Error Handler

09/20/2016 , 2m, 41s

In this episode, we’re talking about errors, exceptions, and the Whoops error handler, commonly used in Zend Expressive projects.

Specifically, I’m talking about what happens when you forget to enable it, and the confusion which that can cause.

If you’re experiencing errors, such as HTTP 500s, and wondering why no information is appearing in your logs, perhaps you forgot to enable or configure the Whoops error handler.

Grab a warm beverage, and find out more.

Questions/Comments/Suggestions

@zfmastery

Further Reading

Episode 15 - A Small Apology...

09/13/2016 , 1m, 36s

This isn't a long episode (not that they ever are). But in this episode, I'm giving a small apology for the recent quietness on the blog, with a bit of background as to why.

In short, computers are great — when they work. Gladly, things appear to be back to normal now. So it’s onwards and upwards my friends!

Questions/Comments/Suggestions

@zfmastery

Episode 14 - Announcing The Zend\Db Deep Dive Course

09/07/2016 , 2m, 28s

After many months of hard work, Zend\Db Deep Dive is ready!

SQL’s long been a part of modern web applications, especially those created using PHP.

But SQL’s not a skill that sits at the top of most developers key skills list. Nor is it one that we’re often itching to learn.

So I created this course to help bridge the gap. If you know the basics of SQL, but want to do it in an object-oriented, reusable, flexible, and maintainable way, then this is the course for you!

In this episode, I’m sharing a bit about it, why the course was created, and what you can get out of it.

Have a listen and check out the course.

Questions/Comments/Suggestions

@zfmastery

Episode 13 - Thanks For The Docker Support

09/06/2016 , 2m, 29s

The recent Docker tutorial has gained a lot of traction — especially in the wider community.

But it couldn’t have been done without the support of those far wiser and learned than myself.

So, in this episode, I’m giving a special shout out to the people that helped make the tutorial happen

…plus a little bit more.

Questions/Comments/Suggestions

@zfmastery

Episode 12 - How To Build a Local Development Environment Using Docker

08/30/2016 , 2m, 50s

Ever wanted to create a local development, without a lot of hassle? In this episode, I'm giving further insight in to the recent tutorial about building local development environments using Docker.

Docker is a tool that I — genuinely — have come to love, every bit as much as my enthusiasm in the episode shows.

If you've been having issues with setting up a local development environment, simply, quickly, and effectively, then this is an episode you don't want to miss.

For more information, check out the following links:

Questions/Comments/Suggestions

@zfmastery

Episode 11 - How To Use Laravel’s Eloquent ORM with Zend Expressive

08/22/2016 , 2m, 59s

Ever thought Eloquent and Expressive would go together like Ebony and Ivory?

I’m guessing the answer’s likely no. But, they can - if that’s your cup of tea, and you’re looking for a change from Zend\Db or Doctrine.

In this episode, I share why I decided to see if they’d fit in the recent tutorial.

For more information, check out the following links:

Questions/Comments/Suggestions

@zfmastery

Episode 10 - Downloading Files in Zend Expressive

08/16/2016 , 2m, 40s

In this episode, I give further background on the recent tutorial which covered the basics of downloading files in Zend Expressive.

Whilst downloading files can be a common part of creating web-based applications, people have mentioned that they’ve had trouble getting started doing so in Zend Expressive.

So I wanted to give yet more information, in addition to the tutorial, to help out.

Many thanks to @acelayaa and @haritk for the technical discussions and feedback.

For more information, check out the following links:

Questions/Comments/Suggestions

@zfmastery

Episode 9 - How To Simplify Zend Expressive Configuration with ConfigProviders

08/10/2016 , 2m, 25s

Given Zend Framework’s design and very flexible nature, it can be easy to end up with a bloated global configuration, if we’re not careful. This episode follows up the recent tutorial on ConfigProviders.

In it, I provide further background the ConfigProviders tutorial, on why ConfigProviders can help reduce configuration complexity, and maintainability.

For more information, check out the following links:

Questions/Comments/Suggestions

@zfmastery

Episode 8 - Zend Expressive Routers (Aura.Router)

04/18/2016 , 2m, 34s

In this episode, I’m giving a quick overview of one of Zend Expressive’s two, non-default, routing packages - Aura Router. Part of the Aura project, which is an independent collection of libraries, and originally designed for PHP 5.4 by Paul M Jones (@pmjones). Aura is, in the words of the repository:

Powerful and flexible web routing for PSR-7 requests.

It's an excellent package, sporting a range of powerful features, including: route groups, route caching, custom matching rules, and the ability to generate paths from routes.

For more information, check out the following links:

Questions/Comments/Suggestions

@zfmastery

Episode 7 - Zend Expressive’s Default Router - FastRoute

04/14/2016 , 2m, 46s

In this episode, I’m giving a quick overview of Zend Expressive’s default routing package - FastRoute. FastRoute, as the documentation says:

Provides a fast implementation of a regular expression based router

Written by Nikita Popov, or nikic on Twitter and GitHub, it’s both a simple and uncomplicated, yet extremely fast and highly performant routing package. It's one worthy of being the default routing package for the Zend Expressive standalone installer.

To find out more information on it, check out these key links:

Questions/Comments/Suggestions

@zfmastery

Episode 6 - Understanding the Zend Expressive Directory Structure

04/11/2016 , 2m, 39s

In this episode, I’m stepping through the standard directory structure, common to all Zend Expressive applications setup using the skeleton application and installer. It's a good discussion about what comes by default, and what each directory contains.

Questions/Comments/Suggestions

@zfmastery

Episode 5 - How to Configure Zend Expressive Applications

04/07/2016 , 2m, 51s

With Zend Expressive, you can build all kinds of middleware-based applications, such as APIs, websites, single page applications, even extremely large and sophisticated applications.

In this episode, I show you four key ways in which you can configure your expressive applications.

These are:

  • Basic routing configuration
  • Using a container
  • Using a Configuration-Driven Container
  • Hybrid Container and Programmatic Creation

To find out more information on it, check out these key links:

Questions/Comments/Suggestions

@zfmastery

Episode 4 - Why is Interoperability GREAT!

04/04/2016 , 2m, 59s

In this episode I'm talking about a key benefit of PSR-7, one I hinted at in episode 2 & 3, one which I’m really excited about — interoperability.

Merriam-Webster defines interoperability as:

The ability of a system to work with or use the parts or equipment of another system

So why is that a good thing? Have a listen and find out.

Episode 3 - What is PSR-7?

03/31/2016 , 2m, 54s

In this episode, I’m looking at PSR-7, the second of two core components which Zend Expressive is built on. Zend Framework team lead, Matthew Weier O'Phinney describes it as:

a set of standard HTTP message interfaces so that we can create an ecosystem in which PHP developers can create re-usable middleware that they can share.

The PSR site describes it as:

common interfaces for representing HTTP messages as described in RFC 7230 and RFC 7231, and URIs for use with HTTP messages as described in RFC 3986.

To find out more information on it, check out these key links:

Questions/Comments/Suggestions

@zfmastery

Episode 2 - What is Middleware?

03/28/2016 , 2m, 59s

Today, I'm talking about one of the two core concepts behind Zend Expressive - Middleware. But what is Middleware? Here's a quick definition:

Middleware, in the context of software applications, is a layer that sits somewhere in the middle, between a request and response. Applications built around a middleware foundation are able to insert functionality in what can be thought of as a series of blocks, blocks which don’t necessarily need to know about one another, nor have any relevance to those which come before, nor those which come after. The blocks are stacked in a particular order and can either pass the current request on to the next one in the chain, or change the request, based on what happens during the processing of that block, changing the dispatched request.

To find out more information on it, check out these key links:

Questions/Comments/Suggestions

@zfmastery

Episode 1 - Getting Started

03/26/2016 , 2m, 35s

This is the prelude, where you'll find out what the show's about, what you can expect, and what's coming up in future episodes.

In a nutshell, it's:

  • A bi-weekly, roughly 3 minute, show
  • About all things Zend Framework, especially Zend Framework 3
  • Gives you all the latest updates, changes, and events in the world of Zend Framework and the wider ecosystem

Stay tuned to learn all there is about Zend Framework!

Questions/Comments/Suggestions

@zfmastery