Laravel blade structure for scalable projects

  • avatar
  • 4.7K Views
  • 2 Likes
  • 5 mins read
Preview post image

Projects tend to grow in size and level of complexity resulting in more and more files. A good base structure may help creating developer-friendly, maintainable and scalable product. Blade is a simple and powerful templating engine included with Laravel. Unlike some PHP templating engines, Blade does not restrict you from using plain PHP code in your templates. In fact, all Blade templates are compiled into plain PHP code and cached until they are modified, meaning Blade adds essentially zero overhead to your application. Blade template files use the .blade.php file extension and are typically stored in the resources/views directory.

Domain Driven Design with Laravel 9: User domain

  • avatar
  • 11.5K Views
  • 16 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
  • 8.3K Views
  • 2 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.

 Join Our Monthly Newsletter

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

We never send SPAM nor unsolicited emails

Paypal IPN: Instant Payment Notification

  • avatar
  • 3.4K Views
  • 3 Likes
  • 11 mins read
Preview post image

Instant Payment Notification (IPN) is a message service that notifies you of events related to PayPal transactions. You can use IPN messages to automate back-office and administrative functions, such as fulfilling orders, tracking customers or providing status and other transaction-related information.

Avoid forms spamming in Laravel 9

  • avatar
  • 9.4K Views
  • 9 Likes
  • 4 mins read
Preview post image

Having a public site with forms can become a headache if we do not prevent spam bots from submitting fake information to our application. Luckily, there is a simple and effective way to defer some of the spam using honeypots. This technique is based on creating a hidden input field that should be left empty by the real users of the application but will most likely be filled out by spam bots.

Social authentication with Laravel Socialite

  • avatar
  • 7.7K Views
  • 6 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.

Native enumerations in PHP

  • avatar
  • 2.9K Views
  • 4 Likes
  • 6 mins read
Preview post image

Enumerations, or Enums allow a developer to define a custom type that is limited to one of a discrete number of possible values. That can be especially helpful when defining a domain model, as it enables making invalid states unrepresentable. In other words, enums are a restricting layer on top of classes and class constants, intended to provide a way to define a closed set of possible values for a type.

GitLab OAuth2.0 access for web application

  • avatar
  • 7.0K Views
  • 3 Likes
  • 7 mins read
Preview post image

GitLab is one of fastest growing private software companies. The company provides a central server that manages git repositories and is used to simplify the administration tasks of many corporations worldwide. Their platform allows third party websites to use GitLab as registration or login option with just a few clicks. That is the social login and it allows customers to bring their existing social identities and use them to register and log in without creating a new account explicitly. It saves a lot of time for users and makes the life easier as we don't need to remember all those credentials for different websites anymore.

Interfaces binding with implementations in Laravel

  • avatar
  • 19.6K Views
  • 18 Likes
  • 9 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.

BitBucket OAuth2.0 access for web application

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

Bitbucket is git repository management solution designed for professional teams. It gives you a central place to manage git repositories, collaborate on your source code and guide you through the development flow. Their platform allows third party websites to use BitBucket as registration or login option with just a few clicks. That is the social login and it allows customers to bring their existing social identities and use them to register and log in without creating a new account explicitly. It saves a lot of time for users and makes the life easier as we don't need to remember all those credentials for different websites anymore.