ββWriting better Regular Expressions in PHP
Regular Expressions are powerful, PHP but they are not known to be readable, and more often than not, maintaining a regular expression is not a straight-forward task.
Regular Expressions are powerful, PHP but they are not known to be readable, and more often than not, maintaining a regular expression is not a straight-forward task.
PHP 8.1 is comingβββand it already promises to be one of the best releases
The coming version of PHP, scheduled for November 2021, is already packed with a lot of super exciting features.
The coming version of PHP, scheduled for November 2021, is already packed with a lot of super exciting features.
Design PatternsβββThe Observer Pattern
This is part 2 of my design patterns articles. A lot of credit to Christopher Okhravi. Iβm trying to cover all his videos about design patterns from the book "Head First: Design Patterns".
This is part 2 of my design patterns articles. A lot of credit to Christopher Okhravi. Iβm trying to cover all his videos about design patterns from the book "Head First: Design Patterns".
ββWhy our code tends to become big ball of mud over time
Our codebases seem to corrode over time. Overall quality tends to decrease. Each new change is harder to introduce. We all use OOP good practices, control our dependencies, adjust to SOLID principles and use patterns. And even so, our systems head toward becoming a big ball of mud inevitably. It turns out it is not enough to keep systems viable in an environment of relentless change.
Our codebases seem to corrode over time. Overall quality tends to decrease. Each new change is harder to introduce. We all use OOP good practices, control our dependencies, adjust to SOLID principles and use patterns. And even so, our systems head toward becoming a big ball of mud inevitably. It turns out it is not enough to keep systems viable in an environment of relentless change.
ββBest practices for writing code comments
While there are many resources to help programmers write better codeβsuch as books and static analyzersβthere are few for writing better comments. While it's easy to measure the quantity of comments in a program, it's hard to measure the quality, and the two are not necessarily correlated. A bad comment is worse than no comment at all. Here are some rules to help you achieve a happy medium.
While there are many resources to help programmers write better codeβsuch as books and static analyzersβthere are few for writing better comments. While it's easy to measure the quantity of comments in a program, it's hard to measure the quality, and the two are not necessarily correlated. A bad comment is worse than no comment at all. Here are some rules to help you achieve a happy medium.
Enums in PHP 8.1
They are finally coming β built-in support for enums will be added in PHP 8.1! Some might consider them long overdue, but you don't hear me complain; I'm glad they made it! This post is dedicated to looking at the newly added feature in-depth.
They are finally coming β built-in support for enums will be added in PHP 8.1! Some might consider them long overdue, but you don't hear me complain; I'm glad they made it! This post is dedicated to looking at the newly added feature in-depth.
PHP 8: The JIT
The pros and cons of adding a JIT compiler to PHP. Dmitry Stogov recently opened an RFC to add a JIT compiler to PHP. So, what is that about? Does "JIT" mean "instantly better PHP", or is this a more nuanced topic? Today we'll briefly look at what the "JIT" actually does, and more importantly: the difficulties and opportunities it brings to the PHP world.
The pros and cons of adding a JIT compiler to PHP. Dmitry Stogov recently opened an RFC to add a JIT compiler to PHP. So, what is that about? Does "JIT" mean "instantly better PHP", or is this a more nuanced topic? Today we'll briefly look at what the "JIT" actually does, and more importantly: the difficulties and opportunities it brings to the PHP world.
PHP: Named arguments are your friends
I stumbled upon an article in Stitcher.io that, in a few words, declares that developers should be aware that Named Arguments will break things. Thatβs quite weird when you consider they fix more than what they "break".
I stumbled upon an article in Stitcher.io that, in a few words, declares that developers should be aware that Named Arguments will break things. Thatβs quite weird when you consider they fix more than what they "break".
ββModern PHP data Encryption/Decryption with Sodium extension
Throughout the years PHP has added support for several extensions, libraries, and algorithms to encrypt and decrypt data. With several libraries and extensions with various levels of maintenance, several algorithms each potentially carrying pros and cons, some even inherently being insecure, it is very difficult to select the appropriate PHP extension, library, encryption constructs, and balance the security and performance.
Throughout the years PHP has added support for several extensions, libraries, and algorithms to encrypt and decrypt data. With several libraries and extensions with various levels of maintenance, several algorithms each potentially carrying pros and cons, some even inherently being insecure, it is very difficult to select the appropriate PHP extension, library, encryption constructs, and balance the security and performance.
Starting with Microservices in PHP
In this article, we will take theory and apply it in practice using PHP.
We will use Ecotone Framework and RabbitMQ, to integrate two Services together.
In this article, we will take theory and apply it in practice using PHP.
We will use Ecotone Framework and RabbitMQ, to integrate two Services together.
Accessing private properties in PHP
Private properties can only be accessed by the class that defines the property⦠right? Actually, PHP has a few ways to circumvent this: reflection, closures and array casting.
Private properties can only be accessed by the class that defines the property⦠right? Actually, PHP has a few ways to circumvent this: reflection, closures and array casting.
6 Algorithms Every Developer Should Know
Hello, I am Richard. I am a developer, and you should know that Iβm not a big fan of data structures and algorithms. If you can relate to this, donβt worry; after working on many projects (small and large), I discovered the six important algorithms that every developer should know, and these six will almost always solve every problem in your development process.
Hello, I am Richard. I am a developer, and you should know that Iβm not a big fan of data structures and algorithms. If you can relate to this, donβt worry; after working on many projects (small and large), I discovered the six important algorithms that every developer should know, and these six will almost always solve every problem in your development process.
Do generators really reduce the memory usage?
Recently I noticed some controversy regarding memory usage with generators. It looks like that many people genuinely take generators as a tool that somehow can get them "a big performance boost" when working with large datasets. Sort of a magician's hat, where one can put any amount of data without affecting the PHP process' memory.
Recently I noticed some controversy regarding memory usage with generators. It looks like that many people genuinely take generators as a tool that somehow can get them "a big performance boost" when working with large datasets. Sort of a magician's hat, where one can put any amount of data without affecting the PHP process' memory.
Unit testing tips by examples in PHP
In these times, the benefits of writing unit tests are huge. I think that most of the recently started projects contain any unit tests. In enterprise applications with a lot of business logic, unit tests are the most important tests, because they are fast and can us instantly assure that our implementation is correct. However, I often see a problem with good tests in projects, though these tests' benefits are only huge when you have good unit tests. So in these examples, I will try to share some tips on what to do to write good unit tests.
In these times, the benefits of writing unit tests are huge. I think that most of the recently started projects contain any unit tests. In enterprise applications with a lot of business logic, unit tests are the most important tests, because they are fast and can us instantly assure that our implementation is correct. However, I often see a problem with good tests in projects, though these tests' benefits are only huge when you have good unit tests. So in these examples, I will try to share some tips on what to do to write good unit tests.
Stop using setters
In this article, I want to focus your attention on the problem with setters. Letβs talk about the problems:
In this article, I want to focus your attention on the problem with setters. Letβs talk about the problems:
ββWhy we should avoid null in software development
In software development, null is a term that is often used to represent a lack of value or an unknown state. Itβs a concept that has been around for a long time and has been a source of confusion and bugs in software development. In this article, we will explore why we should avoid null in software development and what we can do instead.
In software development, null is a term that is often used to represent a lack of value or an unknown state. Itβs a concept that has been around for a long time and has been a source of confusion and bugs in software development. In this article, we will explore why we should avoid null in software development and what we can do instead.
ββAvoiding the pitfalls of abstract and common services
In the ever-evolving world of software engineering, creating robust and maintainable applications is a constant challenge. One common mistake that engineers often make is creating overly common or abstract services. While the idea of reusability and abstraction is appealing, it can lead to a host of problems, including violations of the single responsibility principle and the open/closed principle. In this article, we will delve into the issues that engineers may encounter when creating generic services and highlight the importance of embracing specificity.
In the ever-evolving world of software engineering, creating robust and maintainable applications is a constant challenge. One common mistake that engineers often make is creating overly common or abstract services. While the idea of reusability and abstraction is appealing, it can lead to a host of problems, including violations of the single responsibility principle and the open/closed principle. In this article, we will delve into the issues that engineers may encounter when creating generic services and highlight the importance of embracing specificity.
ββUnveiling the secret power of encapsulation
In the world of software development, encapsulation is a fundamental concept that plays a crucial role in building robust, maintainable, and scalable applications. Encapsulation is one of the four pillars of object-oriented programming (OOP), along with inheritance, polymorphism, and abstraction. It provides a mechanism to bundle related data and methods into a single unit, known as a class, and restricts direct access to the internal state of an object.
In the world of software development, encapsulation is a fundamental concept that plays a crucial role in building robust, maintainable, and scalable applications. Encapsulation is one of the four pillars of object-oriented programming (OOP), along with inheritance, polymorphism, and abstraction. It provides a mechanism to bundle related data and methods into a single unit, known as a class, and restricts direct access to the internal state of an object.
ββ5 Books You Must Read as a Developer
In this article, we present a handpicked selection of five books that every developer should read to enrich their professional journey. These literary gems go beyond mere technical instruction manuals, offering profound insights, practical wisdom, and inspiring stories that can shape and elevate your approach to software development. Whether youβre a seasoned programmer looking to expand your horizons or a budding coder seeking guidance, these books will provide valuable perspectives, ignite creativity, and help you navigate the challenges of the ever-evolving tech landscape.
In this article, we present a handpicked selection of five books that every developer should read to enrich their professional journey. These literary gems go beyond mere technical instruction manuals, offering profound insights, practical wisdom, and inspiring stories that can shape and elevate your approach to software development. Whether youβre a seasoned programmer looking to expand your horizons or a budding coder seeking guidance, these books will provide valuable perspectives, ignite creativity, and help you navigate the challenges of the ever-evolving tech landscape.
ββAn Internet of PHP
PHP is big. The trolls can proclaim its all-but-certain βdeathβ until the cows come home, but no amount of heckling changes that the Internet runs on PHP. The evidence is overwhelming. What follows is a loosely organised collection of precisely that evidence.
PHP is big. The trolls can proclaim its all-but-certain βdeathβ until the cows come home, but no amount of heckling changes that the Internet runs on PHP. The evidence is overwhelming. What follows is a loosely organised collection of precisely that evidence.