Learn Continuously

As one of the best developers, you know you have to stay on top of all the new technologies. You know that you have to have a trusted training partner you can turn to when you need to learn something new.

We are your trusted training partner. We announce new training events on our mailing list often. Join us and come learn with us.

Our Students

Your needs are unique. What you need to learn depends largely on your career path and current level. We teach students at each level differently.

Senior Devs

Require a deep knowledge with very little hand-holding.

Mid-Level Devs

Deep learning with the ability to ask questions to fully understand.

New Devs

Need instructors who know how to lead them to understanding.

Our Instructors

The best instructors to teach developers are professional developers. We are professional developers.

Andrew Caya

Andrew Caya

Senior Consultant and Trainer

Andrew Caya is a Zend Certified PHP Engineer and a Zend Certified Architect. He is also the creator of Linux for PHP and LightMVC, the lead developer of a popular Joomla extension and a contributor to many open source projects.
Cal Evans

Cal Evans

Senior Consultant and Trainer

For the past 15 years Cal has worked with PHP and MySQL on Linux, OSX, and Windows. He has built a variety of projects ranging in size from simple web pages to multi-million dollar web applications.
Doug Bierer

Doug Bierer

Senior Consultant and Trainer

Doug is certified in PHP 5.1, 5.3, 5.5 and 7.1, Zend Framework 1 and 2. He has authored a bunch of books and videos for O'Reilly / Packt Publishing on PHP, Security and MongoDB.

Recent Blog Posts

Instant PHP Frameworks Using LfPHP and lfphp-get

When developing customer code, I lost count of how many times I had to dig around to find the instructions for installing this or that PHP framework.  In most cases all I really want or need to do is to install the skeleton application in order to do some quick testing on a proposed feature.  Yet another problem is that more often than not, the version of PHP running on the customer server is not the same as the version running on my own development computer.  This often results in another agonizing round of testing and debugging before I can get my code to run properly on the customer’s website.

So … given this long preamble, by this point you’re asking, is there a magic carpet someplace?  Can’t I just get on the carpet, and whoosh … it magically transports me to Working Code Land?  Ah ha,  I thought you’d never ask!  Enter the Linux for PHP Docker image.

 

Read More

Adventures in Custom Compiling PHP 7.4

Famous last words: uh … the PHP 7.4 migration guide did mention there were some backwards compatible changes, right?  I’ve already written about the Strange Case of ArrayObject.  Now it’s time to have a look at a very obscure reference in the migration guide referring to changes in custom PHP installation: the migration to pkg-config.  Before I get into what changed and its significance, we need to step back for a moment and review the compile process.

Read More

ZF to Laminas Migration

Two months ago, after making changes to one of my websites, I encountered this message after running composer update:

No developer likes nasty surprises … but in this case it was not entirely unexpected.  The announcement to move Zend Framework (ZF) to Laminas had been made many moons ago.  So … being faced with the new reality, I decided to bite the bullet and do the migration.  I won’t bore you with too many details, but it’s important to set the proper context in order to understand why you want to migrate your ZF apps to Laminas, so let’s climb into the Wayback Machine.  Mr. Peabody, if you will …

Read More