pquijano / laravel-base
Provides a Laravel 10 base.
1.1.1
2024-02-20 23:46 UTC
Requires
- php: ^8.1
- illuminate/support: ^10.0
- laravel/sanctum: ^3.3
- spatie/laravel-data: ^4.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- laravel/pint: ^1.0
- orchestra/testbench: ^8.21
README
Provies some Laravel 10 abstracts and string mixins.
Installation
composer require pquijano/laravel-base:^1.0
Usage
String Mixins
<?php
declare(strict_types=1);
use Illuminate\Support\Str;
$cacheName = Str::cacheName('test', 'cache', 'name'); // generates test_cache_name
$foreignKeyName = Str::dbForeignKeyName('table_name', 'column_name'); // generates kk_table_name_column_name
$indexName = Str::dbIndexName('table_name', 'column_name'); // generates ix_table_name_column_name
$uniqueName = Str::dbUniqueIndexName('table_name', 'column_name'); // generates ak_table_name_column_name
$wildCard = Str::dbWildcard('value'); // generates %value%
$path = Str::pathCombine('path', 'to', 'file'); // generates /path/to/file
$ulid = Str::ulidString(); // generates ulid string in small characters
Abstracts
<?php
declare(strict_types=1);
namespace App\Models;
use PQuijano\LaravelBase\Abstracts\Models\Model as AbstractModel;
final class Foo extends AbstractModel
{
//
}
<?php
declare(strict_types=1);
namespace App\Models;
use PQuijano\LaravelBase\Abstracts\Models\Pivot as AbstractPivot;
final class Foo extends AbstractPivot
{
//
}
<?php
declare(strict_types=1);
namespace App\Models;
use PQuijano\LaravelBase\Abstracts\Models\PersonalAccessToken as AbstractPersonalAccessToken;
final class PersonalAccessToken extends AbstractPersonalAccessToken
{
//
}
<?php
declare(strict_types=1);
namespace App\Models;
use PQuijano\LaravelBase\Abstracts\Models\User as AbstractUser;
final class User extends AbstractUser
{
//
}
<?php
declare(strict_types=1);
namespace App\Exceptions\Entities;
use PQuijano\LaravelBase\Abstracts\Exceptions\Entities\EntityNotFoundException as AbstractEntityNotFoundException;
final class UserNotFoundException extends AbstractEntityNotFoundException
{
//
}
<?php
declare(strict_types=1);
namespace App\Data\Repositories;
use PQuijano\LaravelBase\Abstracts\Data\Repositories\FilterGetData as AbstractFilterGetData;
final class FilterGetData extends AbstractFilterGetData
{
//
}
<?php
declare(strict_types=1);
namespace App\Data\Repositories;
use PQuijano\LaravelBase\Abstracts\Data\Repositories\FilterPaginateData as AbstractFilterPaginateData;
final class FilterPaginateData extends AbstractFilterPaginateData
{
//
}
Interfaces
<?php
declare(strict_types=1);
namespace App\Interfaces\Repositories;
use PQuijano\LaravelBase\Interfaces\Repositories\Repository as RepositoryInterface;
interface UserRepository extends RepositoryInterface
{
//
}