PHPBridge: An Introduction & Self-Assessment

Earlier this year we announced that we would be working on an introductory curriculum, PHPBridge.

After many weeks of writing the curriculum, we presented the first version as the Lone Star PHP Conference Foundations track.

The curriculum is available for all at and on Github (though we’re still working on improving the teaching materials, so those will come as they are available).

The curriculum is written using the RailsBridge Sinatra app, which with some tiny modifications is working pretty well for our purpose.

It is intended that any one (or group) can take the curriculum and deliver the PHPBridge workshop on their own, to their own community, or at their own conferences. We still have some structure around the curriculum to put in place (teaching materials/guides) that will make it a lot easier to do so.

We would love any feedback and suggestions, or feel free to submit fixes and changes via pull request.


As you can see on our review page we still have a way to go before the curriculum is where we need it to be.

First, and most importantly, the curriculum was intended to last a single day, and actually filled two whole days — even then we ran short as we got a late start on day 2.

We built the curriculum to mirror our own learning process, from everything being separate files in the webroot, adding in Bootstrap 3 for some style, and then refactoring to a simple MVC application, with a router, controllers, models, a template engine and views, configuration system, and autoloading.

We unfortunately started the day with numerous installation issues, due to Windows hardware support, and though we got all but 2 of our attendees up and running (finally), it really bit in to our teaching time.

However, at the end of day one, we had completed a functioning, Bootstrap 3 styled app, and I’m proud to say that most everyone in the room had accomplished this successfully. It was a very natural point to end the first day.

While the organizers (and speakers) were gracious enough to let us use the speaker green room for the second day, we only had a few return — and though we did get through the rest of the content, obviously the goal is to have everyone complete the curriculum — especially as we felt this second half was the more important half.


First things first, we’re going to remove the Git section of the curriculum. While we absolutely adore git, and think learning it has immeasurable value, it isn’t something we can do justice to within the context of the workshop.

Secondly, we’re going to review our use of the command line, this tripped up several people, so we’re going to either increase the amount of up-front information on it, or reduce the usage of it.

Third, we’re going to evaluate the use of MySQL; is it worth requiring it (because that’s almost always what they will want to use moving forward) or should we just use SQLite. The move to SQLite, and a reduction in complexity, can remove the need for a VM entirely, and vastly simplify install.

Which brings us to our final point, that we need to work on the installfest. While we only had one (quickly resolved) issue on Mac OS X, our success rate with Windows is low enough that we need to both come up with an alternative (XAMPP or the like) as a fall back, or move away from the VM entirely.


It’s abundantly obvious that this is a two-day workshop. That’s fine, and now we know, we’ll pitch it that way.

We have been approached by 3 user groups about delivering the curriculum, which is awesome.

We hope that we can start to bring this to more conferences as an additional track — either presenting it ourselves, or by them doing it.


I also managed to spend some time talking to Carina Zona who was involved in RailsBridge, and she gave me many things to think about, and act upon.

The most important take-away was that we should define our purpose, as it will guide the rest of the project — from curriculum, to teaching style.

So, here it is, our primary goal:

The primary goal for PHPBridge is to give inexperienced people the opportunity to learn to wield this tool they probably use every day for leisure. To empower and delight them by showing them that they can control this machine, and use it not only to browse the web, but to build it.

When making decisions for PHPBridge, we should always be focused on one thing: To empower and delight them.

If we work towards that outcome, things can only get better.

Posted in php, PHPBridge, Planet
One comment on “PHPBridge: An Introduction & Self-Assessment
  1. Dave Stokes says:

    I think you all did great. There were first time teething issues, especially with setting up the vargrant environment that will go faster with repetition.

    i think there is value in having an ‘an-inclusive’ LAMP stack programming class in PHP such as you are offering. I would leave in GIT as it is such a vital part of a PHpers world. AS for MySQL, I am trying to set my bias aside that comes with the job, and urge you to keep it as being part of the LAMP stack; maybe have another laptop in the room dedicated to running MySQL only that everyone can connect to.

    Consider having two or three loaner PCs for those who show up with laptops that end up being too hard to quickly get the VM running.

    The material is great, the staff is good, now all you all need to do is practice a few dozen times to smooth things out! :)

1 Pings/Trackbacks for "PHPBridge: An Introduction & Self-Assessment"
  1. […] Last weekend at the fantastic Lone Star PHP 2014, I (and 3 other awesome people) presented the inaugural PHPBridge tutorial. You can read more about how that went on the PHPWomen blog. […]

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>