Download the PHP package timmcleod/laravel-core-lib without Composer
On this page you can find all versions of the php package timmcleod/laravel-core-lib. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-core-lib
LaravelCoreLib: A Library for Laravel 7.x
1) Installation 1) Change Trackable Models 1) View Models 1) File Savable Models 1) ICS Calendar
Installation
This package requires PHP >= 7.3. Require this package with composer:
Then, register the following service providers in your app config (project/config/app.php
) by adding them to the providers
array:
Change Trackable Models
Track changes that happen in your Eloquent Models
The purpose of this trait is to allow us to keep track of changes that are made to attribute values within our eloquent models, so we can access those changes AFTER the model is saved.
This can be helpful if we want to log the changes somewhere for later review.
To keep track of changes that are made to the properties/fields of your Eloquent models, just add the ChangeTrackable
trait to the models you want to track. If you would like to limit which fields are tracked, just add a property called $trackable
as shown below.
When your models are saved, the ChangeTrackable
trait will automatically keep track of the fields that have changed. The following methods can be used to learn more about those changes:
View Models
Clean up messy views using View Models
This package can be used to help you encapsulate, validate, and manipulate the data that is required by each of the views in your Laravel 5.x applications.
Purpose and Overview
As the views in our applications grow more complex, they tend to require more data that needs to be presented in varying ways. As our view dependencies increase and the view files become more complex, it can be increasingly difficult to keep track of the data that is required by the view.
View Models help by:
- Validating the data that is injected into the view to verify that the data is exactly what the view expects.
- Facilitating the bundling of data with the methods required to manipulate the data in the context of the view.
- Reducing the chance that the "global" variables in your views will be inadvertently overwritten within your views.
- Providing a way to see what data is required by the view at-a-glance.
Getting Started
After you have registered the LaravelCoreLibArtisanServiceProvider
, a new Artisan command will be available to generate your view models. To create a new view model, use the make:view-model
Artisan command:
This command will place a new EditProfileViewModel
class within your app/Http/ViewModels
directory. If the directory doesn't exist, it will be created for you.
If you prefer to subgroup your view models, you can generate them this way:
This command will place a new EditProfileViewModel
class within your app/Http/ViewModels/User
directory.
Basic Usage
To use view models, just create a new instance of a view model and pass the instance into the view.
Within your views, you can access the data in your view model like this: $vm->timezones
.
Now you can add your own methods to your view model to keep your view-specific logic bundled nicely with the data to keep your views clean.
Or maybe you want to create a list of checkboxes for cities in 2 separate columns in this particular view. You could do something like this:
As you can see, View Models allow us to bundle the view data with the methods required to manipulate the data in the context of the view.
Optionally, when the new view model is instantiated, the data can be validated using the rules defined in your view model class. You can use any of the available validation rules defined in Laravel documentation.
If any of the data coming from the controller fails validation, an exception is thrown.
< Side Note >
Optionally, if you require the package, timmcleod/laravel-instance-validator
, it will add a few additional validation rules that can be helpful in your View Models if you would like to validate the data that the View Model receives.
These rules are available within timmcleod/laravel-instance-validator
: instance_of
, collection_of
, and paginator_of
.
< /Side Note >
File Savable Models
ICS Calendar
License
LaravelCoreLib for Laravel is open-sourced software licensed under the MIT license.
Laravel is a trademark of Taylor Otwell.
All versions of laravel-core-lib with dependencies
ramsey/uuid Version ~3.0
illuminate/support Version ^7.0
illuminate/filesystem Version ^7.0