Framework Comparison

Preface

Before we get into comparing Aphiria against other frameworks, remember that each framework is just a tool. Some tools are better suited to some problems than others. This sort of comparison is inherently subjective, although we will do our best to keep things objective. If you feel we've misconstrued or missed anything, please feel free to submit an issue or pull request to the documentation to improve it.

General

Before we get into library comparisons, let's compare the frameworks at a high level.

Aphiria

Pros

Cons

Symfony

Pros

Cons

Laravel

Pros

Cons

Routing

Routing is how you map a URI to an action, frequently a controller method.

Aphiria

Pros

Cons

Symfony

Pros

Cons

Laravel

Pros

Cons

Controllers

Controllers are the actions that are executed when a user hits a URI. They typically encapsulate all HTTP application logic, and transform it to and from the domain logic.

Aphiria

Pros

Cons

Symfony

Pros

Cons

Laravel

Pros

Cons

HTTP Library

PHP's abstractions around HTTP requests and responses are pretty bare bones. Most frameworks find it necessary to build out classes and helper to better construct and read from requests and responses.

Aphiria

Pros

Cons

Symfony

Pros

Cons

Laravel

Pros

Cons

Dependency Injection Container

A dependency injection (DI) container lets a developer tell the application "When you need dependency IFoo, use this instance of IFoo". On top of that, many DI containers support auto-wiring, which is the process of reflecting a class constructor and resolving all the parameters recursively so that the container can automatically instantiate the class.

Aphiria

Pros

Cons

Symfony

Pros

Cons

Laravel

Pros

Cons

Console

A console library permits a user to enter a command via a console application and map that command to an action in the code base.

Aphiria

Pros

Cons

Symfony

Pros

Cons

Laravel

Pros

Cons