Domain Driven Design with Laravel 9

  • avatar
  • 8.0K Views
  • 38 Likes
  • 10 mins read
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.

Interfaces binding with implementations in Laravel

  • avatar
  • 1.5K Views
  • 5 Likes
  • 6 mins read
Preview post image

An interface is a programming structure that allows the computer to enforce certain properties on an object. In object oriented programming, an interface generally defines the set of methods that an instance of a class that has that interface could respond to. It is actually a concept of abstraction and encapsulation.

Install PHPStan and configure for Laravel application

  • avatar
  • 1.5K Views
  • 6 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 Newsletter

Get the latest news and articles to your inbox every month

How to install or upgrade to Composer v2

  • avatar
  • 912 Views
  • 6 Likes
  • 4 mins read
Preview post image

Composer is an application-level package manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. It manages them on a per-project basis, installing them in a directory (e.g. vendor) inside your project.

Nginx with PHP8.1 FPM on Ubuntu 20.04

  • avatar
  • 802 Views
  • 13 Likes
  • 5 mins read
Preview post image

PHP is a general-purpose scripting language geared towards web development. PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or as a Common Gateway Interface (CGI) executable.

By default Nginx is not capable of processing dynamic web pages with PHP so it requires the use of specific additional plugins for this purpose. One of these plugins is FPM (FastCGI Process Manager). FPM is an alternative PHP FastCGI implementation with some additional features (mostly) useful for heavy-loaded sites. It is the preferred method of processing PHP pages with Nginx and is faster than traditional CGI based methods.

Domain Driven Design: Components

  • avatar
  • 927 Views
  • 2 Likes
  • 5 mins read
Preview post image

We already discussed about the basic concepts and terms in Domain Driven Design (DDD), check out the Introduction post if you missed it. Also we explained which Layers compose the DDD architecture. Now let's see the artifacts we use to unify these concepts and build our application (with PHP example).

Social authentication with Laravel Socialite

  • avatar
  • 517 Views
  • 4 Likes
  • 7 mins read
Preview post image

Social login is now an essential part of any site which performs user authentication. It does not need to replace the standard form based authentication, quite the contrary, social login complements it. Login with social accounts is a straightforward process and it saves the users a lot of time, as they won't need to fill the whole form. They just sign up with their social account and they can log into the website with just a few clicks.

Your first Docker Hub image from scratch

  • avatar
  • 705 Views
  • 1 Likes
  • 6 mins read
Preview post image

Docker provides the ability to package and run an application in a loosely isolated environment called a container. The isolation and security allow you to run many containers simultaneously on a given host. Containers are lightweight and contain everything needed to run the application, so you do not need to rely on what is currently installed on the host. You can easily share containers while you work, and be sure that everyone you share with gets the same container that works in the same way.

Docker compose introduction

  • avatar
  • 505 Views
  • 1 Likes
  • 8 mins read
Preview post image

Docker Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.

The features of Docker Compose that make it effective are:

How to create your first Laravel project

  • avatar
  • 678 Views
  • 3 mins read
Preview post image

Laravel is an open-source PHP web framework intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. The source code of Laravel is hosted on GitHub and licensed under the terms of MIT License.