Download the PHP package faran/pulsar without Composer

On this page you can find all versions of the php package faran/pulsar. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package pulsar

Pulsar

An opinionated Laravel architecture for building modular, domain-driven applications at scale.

Pulsar is an opinionated architecture tool. It provides a strict and explicit approach to organizing Laravel applications using clean architecture, domain-driven design, and service-oriented patterns. This architecture works well for medium-to-large scale applications, multi-tenant SaaS platforms, and teams that benefit from enforced boundaries between business logic and delivery mechanisms. If you prefer Laravel's default structure or flexible, ad-hoc patterns, Pulsar may not be the right fit.

This README is intentionally concise. It defines the architectural contract, not a tutorial.


Table of Contents


Installation

Generate your first service:


Architecture Overview

Pulsar organizes your Laravel application into two complementary layers.


Service Layer

Purpose: HTTP delivery and application orchestration, scoped by consumer audience (Admin, Client, Internal).

A Service is:

A Service is NOT:

Services may share the same database, Domain layer, and deployment.


Domain Layer

Purpose: Business logic independent of delivery concerns (HTTP, controllers).

The Domain layer is Laravel-first:

It is independent of HTTP, not independent of Laravel.


Architecture Rules

Shared Vocabulary

Term Meaning
Service Delivery boundary for a consumer audience
Module Feature slice within a Service
Domain Business capability (Order, Catalog)
UseCase Application workflow
Operation Reusable workflow fragment for UseCases
Action Atomic domain operation

Service Layer Call Graph

Controllers call UseCases only. Only UseCases call Operations. Multiple UseCases may call the same Operation.


Operations

Operations are reusable workflow fragments shared across UseCases. They may include sequencing and conditional branching decisions. They must never own transactions or emit domain events.

Cross-Domain Logic

Cross-domain coordination belongs in UseCases, never in Actions.


Transactions

UseCases own all transaction boundaries.

Actions and Operations must never manage transactions.


Return Types

Actions and Queries may return domain models, collections, primitives, or void. They must never return HTTP or framework response objects.


Anti-Patterns

If you feel tempted to do any of the above, the architecture is being violated.


Why Pulsar Exists

Pulsar optimizes for:

Flexibility is traded for consistency — deliberately.


File Types

Service Layer

Type Purpose
Service Bootstrap a delivery boundary
Controller HTTP handling only
Request Validation and authorization
UseCase Workflow orchestration
Operation Reusable workflow fragment across UseCases (branching allowed; no transactions/events)

Domain Layer

Type Purpose
Model Domain entity (Eloquent)
Action Atomic business operation
DTO Data transfer
Event Domain event
Enum Domain state
Exception Business rule violation
Query Read-only domain query

Commands Reference

Service Layer

Domain Layer


Complete Example

See project documentation for a full end-to-end example covering Domain and Service layers.


Contributing

Contributions are welcome. Please follow the architecture rules and existing conventions.


License

MIT License.


Credits

Built with ❤️ by Faran Ali

Inspired by:


All versions of pulsar with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
symfony/console Version ^7.2|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package faran/pulsar contains the following files

Loading the files please wait ...