Becoming a PHP Core Contributor - The Journey Begins
What does it take to be a PHP core contributor? What things do you have to do? Why would you do it? I’ve started on the journey. Here’s what I’m learning.
What does it take to be a PHP core contributor? What things do you have to do? Why would you do it? I’ve started on the journey. Here’s what I’m learning.
Zend Expressive, like the Zend Skeleton project before it, is a great platform for building robust, maintainable, highly scalable applications. But it’s generally not the platform you’d think of for rapidly application development. However one little technique can change all that. Today, let’s learn that technique and begin changing your perception.
Despite being developing with PHP since a chance encounter in 1999, I’ve only recently gotten myself involved in the community. So here’s a reflection on what’s changed since getting involved.
In part two of the series on testing Zend Framework applications with Codeception, we see how to retrieve and test registered services using BDD-style testing
Recently, I was asked to build an application with a rapid turnaround time and modest budget. Being the sole developer, here’s the approach I took to make the development process as simple and efficient as possible
Testing is essential for creating reliable software. Whether you’re writing a small application for your local club or an application to back your startup, it needs test coverage to ensure it works properly. In this series, I show you how to test Zend Framework 2 applications using the comprehensive testing framework - Codeception.
Landing the first role as a developer seems like the hardest thing to do. Then you realised it’s just the beginning. What do you do to become a professional developer?
Landing the first role as a developer seems like the hardest thing to do. Then you realised it’s just the beginning. What do you do to become a professional developer?
Sometimes, landing the first role as a developer seems like the hardest thing to do. Then you realise it’s only just the beginning. But what do you do to become a professional developer?
Recently I built a new application using SlimPHP, a PHP microframework, instead of a full-stack framework, such as Symfony or Zend Framework 2. In this post, I start discussing how taking this approach has lead to a leaner application design.
I’m a bit late with this, as it was PHP’s 20th birthday a few days ago now. But this morning,
It was a great time at PHP UK Conference 2015, with so many great speakers, starting right at the opening
There are many software languages to choose from today — but why PHP? Does it even rate a mention? Let’s think about this for a moment.
The formRow view helper renders the label, element, and errors, based on the element passed to it. Let’s have a quick look at how it works.
Whilst there are many ways for building and executing SQL queries in Zend Framework 2, the two that I usually use, and which are also used in the ZF2 manual, are closures and the selectWith function. I previously wrote a three part series, showing how to get started using the \Zend\Db\Sql classes with Zend Framework 2, but I didn’t cover how to actually run them. So in today’s tutorial, let’s do that.
Do you need to use different elements of a Zend Form, in multiple locations? Are you keen to reuse the same form class and avoid code duplication but don’t know how? Come learn about validation groups.
Are PHP’s magic methods worth using? When you use them, can you truly write testable code? Let’s explore one side of the argument today.
This is a post I’ve been meaning to write for a feels weeks now after I first started using Traits for simple reuse, as it solved a need I had at the time. After a while it seemed to be not too bad of a solution also. What Are Traits? If you’re not familiar with Traits the PHP manual describes them as: Traits are a mechanism for code reuse in single inheritance languages such as PHP.
In today’s post, we look at more HTML5 Form fields in Zend Framework 2: Month, Range, Color, Week and Number, as well as element properties and attributes. Come look around more of the great new elements available.
You may already be all over this one, but if you’re new to Oxid eSales or new to website internationalization, then today’s tip is one not to miss.
I was going through PHPDeveloper this morning and found a great post from NetTuts from December 27th, 2011 entitled: 10 New Year’s Resolutions Every Web Developer Should Make.
As developers, we can believe errors are negative reflections on our applications. But are they really so? In today’s post, I show you how they’re anything but negative, they’re actually very very positive, when interpreted correctly.
If you have a list of people and want to find only the people with a date of birth in a set year or greater, there’s nothing easier than a FilterIterator. Find out how today.
There are a lot of ways to traverse data in PHP, including while, do while, for and foreach loops. These are fine in a lot of cases. But what if you want to reuse looping logic or have somewhat complex logic? Enter the FilterIterator.
Whether you’re a casual freelance php developer or running a professional freelance business, you’ll know just how much work can be involved. Not only do you have applications to design, develop and support. But you’ve also got business functions such as marketing, advertising, finances and networking as well. In this post we show you a tool to massively reduce your workload - FreeAgent.
So many of us are great technically, but find the prospect of running a freelance business anything from difficult to down right scary. So we’re aiming for Malt Blue to become a key resource for Starting, Building and Growing a Successful PHP Freelance Business.
As you know from reading Malt Blue, I’m rather a Zend Framework fan. Whether it’s the controller plugins, easily adding RSS feeds to applications, configuration with Zend Config or more – I really believe it’s one of the best PHP framework choices. But well, it’s a bit heavyweight. Enter Kohana!
– Part 3 Standard Form & Element Options This is a Multi Part Series. Check out the other parts: Part 1 - Custom Filter Paths Part 2 - Core Form Configuration Part 4 - Configuring Zend Validators Options We’ve looked at custom form filters and we’ve looked at the core form configuration. But what about the other form properties? What about: setting an element as readonly an element as required ignoring an element and love them or hate them, what about decorators Element Options Outside of the options that we’ve looked at previously, there are a number of other options that we can consider implementing when configuring a Zend Form.
Today we move on in learning how to configure the basics of Zend Forms, such as action, method, enctype, accept, accept-charset et al with Zend Config XML. It couldn’t be simpler.
When you’re working with Zend Form you keep your configuration as much out of code as you can - right? Well, if you’ve been working withZend Form for more than a little while, you know that Zend Config really makes that pretty simple - well, some of the time. In this series we look, comprehensively at how to do it all with Zend_Config.
Here we are at part four of the Beginning Cloud Development with cloudControl series and in this part, we’re adding Memcached support. In part one of the series, we laid the foundation for the application and got up to speed with what cloudControl is, why it works and how to get started using it.
Then in part two, we started to flesh out the application that we started building in part one and added MySQL support to it. We showed how to work with cloudControl to manage the key requirements, such as enabling MySQL support, connecting to the MySQL database and keeping the database up to date from a maintenance perspective (creating the database schema and loading data in to the database).
Then in the third part of the series, we replaced MySQL with mongoDB support. Now, in this, the third part of the series, we’re going to finish up with adding Memcached support. As the core of the work’s already been done in the application, this tutorial will be shorter and simpler than the previous three. So, get out the code that you worked through from part 2, or download a copy of it from the github repository and let’s get started.
Here we are at part three of the beginning cloud development with cloudControl series and in this part, we’re adding mongoDB support. In part one of the series, we laid the foundation for the application and got up to speed with what cloudControl is, why it works and how to get started using it.
Then in part two, we started to flesh out the application that we started building in part one and added MySQL support to it. We showed how to work with cloudControl to manage the key requirements, such as enabling MySQL support, connecting to the MySQL database and keeping the database up to date from a maintenance perspective (creating the database schema and loading data in to the database).
In this, the third part of the series, we’re replacing MySQL that we introduced in part two with mongoDB support.
In part one of the series we got a birds eye view of a great cloud development solution for PHP - cloudControl. We looked at the concept of what it is, what you can do with it and ran through a basic deployment with a rather basic application. If you missed the first part, I strongly encourage you to read it before continuing on with part two. When you’re done, come on back and work through it here.
In this, part two of the series, things start to get more serious. In this part, we’re going to start to flesh out the application started in part one, adding in MySQL support - showing just how simple cloudControl makes this for us.
##.
Don’t forget to grab the other parts as well:
So you’ve heard all about the cloud. In the current day and age, you’d have to be living under a rock to have not encountered it by now. Whether it’s the ads from Amazon, Rackspace or Microsoft, the extensions to your favourite framework, such as SimpleCloud in Zend Framework or iCloud from Apple – The Cloud is Everywhere!
But these aren’t the only options available to us as developers. In this series I want to introduce you to and help you get started with another cloud service - cloudControl.
What’s your attitude to i18n? Are you not quite sure what i18n is? Well, according to Wikipedia, it’s:
Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.