Domain Driven Design with Laravel 9

  • avatar
Preview post image

Modern web frameworks teach you to take one group of related concepts and split it across multiple places throughout your codebase. Laravel is a robust framework with a big community behind it. Usually it's standard structure is enough for most starting projects.

Building scalable applications, instead, requires a different approach. Have you ever heard from a client to work on controllers or review the models folder? Probably never - they ask you to work on invoicing, clients management or users. These concept groups are called domains.

Domain Driven Design: Layers

  • avatar
  • 3.1K Views
  • 8 Likes
  • 4 mins read
Preview post image

Creating applications that can handle very complex tasks requires separation of code by using directory structures, layers and boundaries. This is where the concept of a Layered Architecture comes in. Projects developed with the Domain Driven Design approach has the following layers: domain, application, infrastructure and user interface (UI).

Install PHPStan and configure for Laravel application

  • avatar
  • 2.7K Views
  • 8 Likes
  • 3 mins read
Preview post image

Unlike compiled languages, in PHP if you make a mistake, the program will crash when the line of code with the mistake is executed. When testing a PHP application, whether manually or automatically, developers spend a lot of their time discovering mistakes that wouldn’t even compile in other languages, leaving less time for testing actual business logic.

 Join Our Monthly Newsletter

Get the latest news and popular articles to your inbox every month

Conventional commits

  • avatar
  • 688 Views
  • 13 Likes
  • 3 mins read
Preview post image

The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of.

The commit message should be structured as follows:

<type>[optional scope]: <description>

[optional body]

[optional footer]

Domain Driven Design with Laravel 9: User domain

  • avatar
  • 373 Views
  • 5 Likes
  • 11 mins read
Preview post image

Modern web frameworks take one group of related concepts and split it across multiple places throughout your codebase. Laravel provides a very clear structure with large variety of tools to make the development easier and faster. Along with the huge community it makes Laravel a great option for most starting projects.

Universally unique identifiers: UUID vs ULID

  • avatar
  • 324 Views
  • 1 Likes
  • 7 mins read
Preview post image

Historically a lot of software has used incrementing numbers to represent the identifier of a particular piece of data. They can be auto-generated by many data stores, they are easy to read, efficient to store and naturally time ordered.

As time passes, applications become larger. They need more resources and usually distributed in different places. That may cause some errors generating concurrent numbers and coordination issues. Incremental numbers can also be the source of security problems and they may include implicit information about datasets volume. Modern software architectures also trend to decouple infrastructure layer and move ID generation logic to the domain core.

GitHub Copilot is generally available to all developers

  • 216 Views
  • 2 Likes
  • 1 min read
Preview post image

When you type code or comments, GitHub Copilot suggests the next line of code. But it’s not only a single word or line of code. GitHub Copilot can suggest complete methods, boilerplate code, whole unit tests, and even complex algorithms.

Since the launch of GitHub Copilot technical preview last year, it’s become abundantly clear that AI is one of the best tools to empower the next generation of developers. Already, AI is acting as a copilot in our daily lives. It’s helping us write emails and essays, automatically generate photo albums of our loved ones, and even acts as a digital assistant to help us order groceries. But until now, AI has stopped short of improving code, leaving the process of developing software almost completely manual. That’s changing now. Now GitHub Copilot is generally available to individual developers.