Database Versioning with Liquibase
Most development teams have found a way to deal with schema changes using a tool they either found or built themselves, which most of the time simply executes all patch files (or ‘deltas’) that were added since the last time they ran the tool. We did database versioning for our projects. It kind of worked most of the time, but the manual intervention that was required every once in a while made it feel like a hack. I decided to go and investigate what solutions were out there because surely, there must be some sort of magical tool that solves all of our problems once and for all, right? And if not, I was sure we could look into the problem and build this magical tool ourselves! by Harrie Verveer
Consolidating Doctrine Migrations
Doctrine Migrations are a great way to manage changes in your database structure, but over time migration files can pile up and turn into an unmaintainable mess. Migration usage is well-documented, but developers are left to their own devices when it comes to long-term maintenance. This article outlines a process for cleaning up the mess and starting fresh with a new base migration with minimal impact on existing database instances. by Patrick Schwisow
Practical Database Design
Proper database design can bring many benefits: faster development, quicker bug fixes, more accurate data, and improved application performance, to name but a few. Fortunately, database design doesn’t have to be difficult, and it doesn’t have to be boring and theoretical. It can be a lively and interesting mental exercise that pays great dividends. This article shows you practical, simple ways to improve your design with easy-to-remember rules and tips—to show that you can create high-quality database designs without wasting time. by David Berube
PHP Extensions—Functions and Variables Management
In our last article, we learned how and why to create a PHP extension. We also examined the PHP extension structure, how to build it, and how to make it work. Now that you know how to design, build, and make use of your own extension, let’s see how to make it do some useful work, mainly through the design of functions to be added to the PHP language by your extension. by Julien Pauli
Object-Oriented JavaScript (Part the First)
Object-oriented programming (OOP) is a concept eminently familiar to those of us who have coded in Java, C++, .NET, and other languages. In this two-part series, we’re going to walk developers through the ins and outs of another object-oriented language: JavaScript. We’ll start by talking about what it means for a language to be “object oriented,” and then we’ll discuss how JavaScript implements the core principles of this paradigm. JavaScript’s prototype object is central to this discussion, so we’ll cover the nitty gritty of what it is and how it works. by Jordan Kasper
Leveling Up: Advanced Counting
In this edition of Leveling Up, we’re going to talk about counting. We’ll look at how counting works, how different number systems work, and how you can use this to have a better understanding of how your computer works along with how we can use this information to make our functions more expressive. by David Stockton
Education Station: Your Notes within Your Control!
I’m going to show you a project that does quite a bit of what Evernote does, but one that you can install locally, maintaining full control over your data. What’s more, it’s written in PHP; specifically, it’s built on top of Laravel 4. It’s called Paperwork. by Matthew Setter
Community Corner: March 2015
Read this article for FREE
A lot of programmers and developers work long hours and many of us are always checking in on work long after we’ve gone home. But it is particularly hard on infrastructure engineers. This article is about the fact that we have a problem in our family. And by family, I mean our industry, which employs engineers of all kinds to run the companies that are changing the world around us. by Joe Devon
finally{}: SQL? NoSQL? YesSQL?
Given the theme of this month’s magazine, it seems appropriate that I take some time to reflect on the current state of databases in web development. The biggest change that has arrived in the database world is obviously the plethora of NoSQL databases that have made their way onto the scene. Before you migrate your stack to NoSQL, you should really consider the purpose of your application and how well it is going to match. by Eli White