Download the PHP package aedart/laravel-helpers without Composer
On this page you can find all versions of the php package aedart/laravel-helpers. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aedart/laravel-helpers
More information about aedart/laravel-helpers
Files in aedart/laravel-helpers
Package laravel-helpers
Short Description Getters and Setters utility package for some of Laravel's core packages. This package make use of Laravel's native Facades, as a fallback, when no custom instances are provided.
License BSD-3-Clause
Homepage https://github.com/aedart/laravel-helpers
Informations about the package laravel-helpers
Deprecated - Laravel Helpers
Package has been replaced by aedart/athenaeum
Getters and Setters utility package for some of Laravel's core packages.
This package make use of Laravel's native Facades, as a fallback, when no custom instances are provided.
Contents
- When to use this
- When not to use this
- How to install
- Quick start
- Contribution
- Acknowledgement
- Versioning
- License
When to use this
- When your component depends on one or several of Laravel's native components
- When there is a strong need to interface such dependencies
- When you need to be able to set a different instance of a given native Laravel component, e.g. your implemented version of a Configuration Repository
When not to use this
If you are using a modern IDE, then the added PHPDoc will ensure code-hinting of the various methods' return type. However, you shouldn't blindly use these helpers, just for the sake of gaining code-hinting, for Laravel's Facades. If you are just seeking that, then perhaps Barry vd. Heuvel's Laravel IDE Helper Generator package, is a far better solution for you.
How to install
This package uses composer. If you do not know what that is or how it works, I recommend that you read a little about, before attempting to use this package.
Quick start
Component-aware interface, and component-trait
Lets imagine that you have some kind of component, that needs to be aware of a configuration repository. You can ensure such, by implementing the ConfigAware
interface.
Furthermore, a default implementation is available, via the ConfigTrait
trait.
Now, your component is able to set and get an instance, of Laravel's \Illuminate\Contracts\Config\Repository
. This means that, if you have a custom implementation of such a repository, then
you can specify it on the component;
Default fallback to Laravel's Facades
All traits have a default fallback method, which invokes Laravel's corresponding facades, ensuring that even if you do not specify an instance, a given component is returned;
Usage inside a Laravel application
You do not need any special configuration or service provides. Just ensure that you have required this package as a dependency, and you are good to go.
Outside a Laravel application
If you plan to use this package outside a Laravel application, then you might require additional dependencies.
Example
If you need to work with the filesystem components, then you must require Laravel's filesystem package;
IoC Service Container - no fallback
Fallback is not available, for any of the implemented traits, if this package is used outside a Laravel Application. It is up to you, to provide a fallback, if such is needed.
Should that be the case, then you can overwrite the getDefaultXZY
methods, in your component.
As an alternative, you can also bind your dependencies and still use the facades. Read more about Laravel's IoC Service Container, in order to learn more about this.
Contribution
Have you found a defect ( bug or design flaw ), or do you wish improvements? In the following sections, you might find some useful information on how you can help this project. In any case, I thank you for taking the time to help me improve this project's deliverables and overall quality.
Bug Report
If you are convinced that you have found a bug, then at the very least you should create a new issue. In that given issue, you should as a minimum describe the following;
- Where is the defect located
- A good, short and precise description of the defect (Why is it a defect)
- How to replicate the defect
- (A possible solution for how to resolve the defect)
When time permits it, I will review your issue and take action upon it.
Fork, code and send pull-request
A good and well written bug report can help me a lot. Nevertheless, if you can or wish to resolve the defect by yourself, here is how you can do so;
- Fork this project
- Create a new local development branch for the given defect-fix
- Write your code / changes
- Create executable test-cases (prove that your changes are solid!)
- Commit and push your changes to your fork-repository
- Send a pull-request with your changes
- Drink a Beer - you earned it :)
As soon as I receive the pull-request (and have time for it), I will review your changes and merge them into this project. If not, I will inform you why I choose not to.
Acknowledgement
- Taylor Otwell, for creating Laravel and especially the Service Container, that I'm using daily
- Jeffrey Way, for creating Laracasts - a great place to learn new things... E.g. how facades work!
Versioning
This package follows Semantic Versioning 2.0.0
License
BSD-3-Clause, Read the LICENSE file included in this package