novay/boilerplate

我的个人Laravel样板。

1.0.56 2024-03-19 16:35 UTC

This package is auto-updated.

Last update: 2024-09-09 20:46:48 UTC


README

💡 这是为了我的个人使用而构建的。 已在Laravel 10 & 11上测试

安装

📖 安装过程非常简单。

# Laravel 10
composer create-project laravel/laravel:^10.0 example-app
cd example-app
composer require novay/boilerplate
php artisan vendor:publish --provider="Novay\Boilerplate\BoilerplateServiceProvider" --tag="config"
php artisan boilerplate:install


# Laravel 11
laravel new example-app
cd example-app
composer require novay/boilerplate "1.0.56"
composer require protonemedia/laravel-splade "1.4.18"
php artisan vendor:publish --provider="Novay\Boilerplate\BoilerplateServiceProvider" --tag="config"

php artisan boilerplate:install

不要忘记迁移我们的默认迁移

php artisan migrate

boilerplate:install 命令还将构建前端资源。就像 常规Laravel应用程序 一样,您也可以运行Vite开发服务器

npm run dev

此外,您可以按照以下步骤操作

// app/Providers/AppServiceProvider.php
...
class AppServiceProvider extends ServiceProvider
{
    ...
    public function boot(): void
    {
        \Illuminate\Support\Facades\Schema::defaultStringLength(191);
        \ProtoneMedia\Splade\Facades\Splade::defaultToast(function ($toast) {
            $toast->autoDismiss(3);
        });
    }
    ...
}

// app/Http/Kernel.php (Laravel 10)
...
class Kernel extends HttpKernel
{
    ...
    protected $middlewareGroups = [
        'web' => [
            ...
            \App\Http\Middleware\LangMiddleware::class,
        ],
        ...
    ];
    ...
}

// app/Models/User.php 
...
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens; # Laravel 10

use App\Traits\HasProfilePhoto;
use App\Traits\RandomIds;

class User extends Authenticatable // implements MustVerifyEmail
{
    use HasApiTokens; # Laravel 10
    use HasFactory, Notifiable;
    use HasProfilePhoto, RandomIds;

    protected $fillable = [
        'name',
        'email',
        'password',
        'phone',
        'plain',
        'address',
        'last_login_ip',
        'last_login_at'
    ];

    protected $hidden = [
        'password',
        'plain',
        'remember_token',
    ];

    # Laravel 10
    protected $casts = [
        'password' => 'hashed',
        'email_verified_at' => 'datetime',
        'deleted_at' => 'datetime',
        'last_login_at' => 'datetime',
    ];

    # Laravel 11
    protected function casts(): array
    {
        return [
            'password' => 'hashed',
            'email_verified_at' => 'datetime',
            'deleted_at' => 'datetime',
            'last_login_at' => 'datetime',
        ];
    }
}
# Additional
composer require kirschbaum-development/eloquent-power-joins

文档

📖 关于 Laravel Splade 的完整文档

您可以直接使用此工具包

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

安全

如果您发现任何安全问题,请通过电子邮件 novay@btekno.id 而不是使用问题跟踪器。

许可证

MIT许可证(MIT)。请参阅 许可证文件 获取更多信息。