In addition to the many large and long-standing legacy code applications, there are more and more brand-new products. New extensions and modules offer new possibilities and thus opportunities for customers and companies. However, there is one major problem that continues to produce legacy code: the developer. In this article I will highlight various aspects of software development and encourage good software quality and work.
The dominance of the PHP framework silos is coming to an end. Thanks to the increasing popularity of the Composer, PHP developers are finding it easier and easier to build their own framework from many different building blocks and packages. This article provides an overview of some PHP routers that are available as useful alternatives.
Here it stands, the monolith that has grown for decades, and is becoming increasingly difficult to maintain and expand. An undifferentiated rewrite would be too expensive and no guarantee that it would be better this time. In order to tame the monolith, we can refactor it on a large scale, i. e. maintain its behaviour but improve its structure. This can be done, for example, by extracting microservices - and preferably in small steps.
Quality code is highly valued in the PHP community. You’ll rarely find untested libraries on GitHub. Two problems that developers encounter again and again during testing are the handling of file operations, as well as testing built-in PHP functions such as time() or exec() on certain expectations. In this article, Tommy Mühle explains a few solutions for such cases.
Developers usually take their programming language of choice very seriously. Which makes sense since it’s probably the tool they spend the most time using. We get attached to our languages, and debating the merits of various languages can get… passionate.
Continuous Integration is the first step of a Continuous Delivery Chain and can be used as a standalone solution. It reduces the team's workload in the field of quality management by automation and helps to make sure software quality is maintained in the long run.
While it is very interesting to learn about new software designs and architecture patterns we tend to forget that our software must be adaptable over time and this might even be more important than choosing the "right" patterns at the very beginning. Requirements for software always changed and will always change.