Wednesday, November 30th, 2016 by Servage

Reflections is an advanced and fairly rare topic in PHP. Reflections allow you to inspect objects at runtime, and many frameworks depend on them to do their magic in the background. Even though reflections are not something you think of every day, you are likely using them without knowing it. Let us explore some of the most common reflection functions that allow you to inspect your code when it is already running.
Introduction to Reflections
Let us first define reflections in a little more detail. Reflections is a feature introduced in PHP 5 that allows you to reverse engineer classes, functions and more at runtime. It allows the PHP interpreter to learn about ...
Thursday, November 24th, 2016 by Servage

Git is by far the most popular version control system (VCS) at the moment. As a developer, you are most likely already familiar with it, and it is used at your current or future workplace. But Git is not the only choice when it comes to version control. Let’s see what are some considerable alternatives to it.
Subversion
Subversion (SVN) is probably the first alternative that comes to your mind. It is similar to Git in many ways, but there are major differences too. For example, SVN is a centralized version control system (VCS) while Git is distributed, which means that every developer has a copy of the repository on their local computers. ...
Wednesday, November 16th, 2016 by Servage

Semantic versioning is a way to specify your application version numbers in a simple and standardized way. There are many versioning schemes available, but semantic versioning is definitely one of the most commonly used ones, and here's why.
Major versions
In semantic versioning, a version number can look like this: 1.3.18. The first part of the version is the major version. A major version is a version that can introduce backward-incompatible changes to the software. Things that have worked previously, such as API clients, may no longer work with the new version because it has been changed so dramatically.
If you use third-party libraries in your own project and notice that the first number ...
Wednesday, November 9th, 2016 by Servage

Simple Object Access Protocol (SOAP) is not as popular as its counterpart REST. However, there are some cases where a SOAP API is preferred over REST. What kind of services might benefit from having a SOAP API instead of a RESTful one? We will find this out by getting familiar with the pros and cons of SOAP.
Advantages of SOAP
Unlike REST, SOAP is a protocol. SOAP defines its own standards, for example how messages are constructed and processed. Messages in SOAP are sent as envelopes that contain the body of the message and some metadata, such as headers. One of the advantages of SOAP is that these messages can be sent over ...
Saturday, November 5th, 2016 by Servage

Codeception is a tool that can be used to automate the testing process of web applications. You can use it to write various types of automated tests, and this time we will focus on functional tests. You will learn two things: What functional tests are, and how to write them.
What is functional testing?
Let us first briefly get familiar with the concept of functional testing. Functional testing is one of the many software testing methods that allows you to verify that your application meets its requirements and does what it should do. In unit tests you test a small individual piece of code in your application. A functional test takes those small ...
Wednesday, November 2nd, 2016 by Servage

Laravel 5.3 was released in not too long ago, and is a minor release which introduces some new features in a backward-compatible manner. The new version introduces an extended notification system, support for real-time applications and some smaller changes such as updates to default routes.
Laravel Notifications
A typical way of notifying a user or customer in a web application is by using either a custom notification system on the website or by email. Laravel supports both of these already, but version 5.3 adds some new ways to notify users.
You can for example send a text message or notify a Slack channel about what is happening in your application. Here is a more practical example: ...
Recent comments