Are you a web developer or a website owner? Do your sites run on PHP-enabled CMS such as WordPress, Drupal, Joomla or Magento? Then I have good news for you: the feature-complete beta of the new PHP 7 was recently released. The 7.0.0 major release contains so many cool features that we decided to dedicate a whole post to it. But first, we need to slide in a few reminders. Note that PHP 7 is still in the development phase so don’t use it in production until November when the final version will be released. If – as a future user – you want to take your fair share from the development process, you can help with downloading the latest beta, playing around with it in your testing environment and reporting bugs you found during the testing.
PHPMyAdmin (PMA) is an excellent free, open source web-based database client which can be used to interact more easily with MySQL and application databases. Jeff Reifman will describe how to install it, secure it and some common scenarios with which it can assist you in database administration.
Sooner or later in your programming career you will be faced with the dilemma of validation and exception handling. This was the case with Patkos Csaba and his team also. A couple or so years ago we reached a point when we had to take architectural actions to accommodate all the exceptional cases our quite large software project needed to handle. Below is a list of practices we came to value and apply when it comes to validation and exception handling.
The Repository Design Pattern, defined by Eric Evens in his Domain Driven Design book, is one of the most useful and most widely applicable design patterns ever invented. Any application has to work with persistence and with some kind of list of items. These can be users, products, networks, disks, or whatever your application is about. If you have a blog for example, you have to deal with lists of blog posts and lists of comments. The problem that all of these list management logics have in common is how to connect business logic, factories and persistence.
The Date/Time PHP extension is a set of classes that allow you to work with almost all of the date and time related tasks. It’s been available since the release of PHP 5.2 and the extension introduced several new classes, all of which are mapped to real life scenarios.
The new hype in programming is all about functional programming
paradigms. Functional languages are used more and more in greater and
better applications. Scala, Haskel, etc. are thriving and other, more
conservative languages like Java started to adopt some of the functional
programming paradigms (see closures in Java7 and lazy eval for lists in
Frameworks are hot topics in the web-industry and have been for some time. In this vast sea of flavors is Symfony – an extensive PHP framework that follows the ever popular MVC paradigm. Its learning curve is probably a little steeper than its fellow competitors, like CodeIgniter. Don’t worry, once it grows on you, you’ll feel more powerful than ever and you’ll be able to develop fantastic applications.
This tutorial was inspired by a speech given by Robert C. Martin that Patkos Csaba watched a year or so ago. The main subject of his talk is about the possibility of picking The Last Programming Language. He addresses topics such as why should such a language exist? And what it should look like? However, if you read between the lines, there was another interesting idea that caught my attention: the limitations that each programming paradigm imposes upon on us programmers. So before we get into how we could go about converting a procedural based PHP app into an object oriented one, he wants to cover a little bit of theory beforehand.
PHPUnit has hinted at parallelism since 2007, but, in the meantime, our tests continue to run slowly. Time is money, right? ParaTest is a tool that sits on top of PHPUnit and allows you to run tests in parallel without the use of extensions. This is an ideal candidate for functional (i.e Selenium) tests and other long-running processes.