bondarde / laravel-toolbox
Requires
- php: ^8.2
- ext-json: *
- bondarde/php-utils: ^0.5.0
- deployer/deployer: ^7.0
- diglactic/laravel-breadcrumbs: ^9.0
- firebase/php-jwt: ^6.3
- jenssegers/agent: ^2.6
- laravel/fortify: ^1.10
- laravel/framework: ^11
- laravel/scout: ^10.2
- laravel/socialite: ^5.5
- livewire/livewire: ^3.0
- openai-php/laravel: ^0.10.0
- spatie/laravel-permission: ^6.0
- spatie/laravel-translatable: ^6.5
- teamtnt/laravel-scout-tntsearch-driver: ^14.0
- tinymce/tinymce: ^7.0
- tweeb/tinymce-i18n: ^2.0
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pint: ^1.14
- laravel/sail: ^1.29
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^10.0
- spatie/laravel-ignition: ^2.4
- spatie/laravel-ray: ^1.35
- dev-main
- v2.18.1
- v2.18.0
- v2.17.0
- v2.16.7
- v2.16.6
- v2.16.5
- v2.16.4
- v2.16.3
- v2.16.2
- v2.16.1
- v2.16.0
- v2.15.3
- v2.15.2
- v2.15.1
- v2.15.0
- v2.14.1
- v2.14.0
- v2.13.0
- v2.12.4
- v2.12.3
- v2.12.2
- v2.12.1
- v2.12.0
- v2.11.3
- v2.11.2
- v2.11.1
- v2.11.0
- v2.10.0
- v2.9.1
- v2.9.0
- v2.8.0
- v2.7.3
- v2.7.2
- v2.7.1
- v2.7.0
- v2.6.1
- v2.6.0
- v2.5.0
- v2.4.11
- v2.4.10
- v2.4.9
- v2.4.8
- v2.4.7
- v2.4.6
- v2.4.5
- v2.4.4
- v2.4.3
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.1
- v2.3.0
- v2.2.9
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.17.10
- v1.17.9
- v1.17.8
- v1.17.7
- v1.17.6
- v1.17.5
- v1.17.4
- v1.17.3
- v1.17.2
- v1.17.1
- v1.17.0
- v1.16.5
- v1.16.4
- v1.16.3
- v1.16.2
- v1.16.1
- v1.16.0
- v1.15.0
- v1.14.7
- v1.14.6
- v1.14.5
- v1.14.4
- v1.14.3
- v1.14.2
- v1.14.1
- v1.14.0
- v1.13.1
- v1.13.0
- v1.12.0
- v1.11.1
- v1.11.0
- v1.10.1
- v1.10.0
- v1.9.0
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.1
- v1.6.0
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- v0.55.1
- v0.55.0
- v0.54.16
- v0.54.15
- v0.54.14
- v0.54.13
- v0.54.12
- v0.54.11
- v0.54.10
- v0.54.9
- v0.54.8
- v0.54.7
- v0.54.6
- v0.54.5
- v0.54.4
- v0.54.3
- v0.54.2
- v0.54.1
- v0.54.0
- v0.53.16
- v0.53.15
- v0.53.14
- v0.53.13
- v0.53.12
- v0.53.11
- v0.53.10
- v0.53.9
- v0.53.8
- v0.53.7
- v0.53.6
- v0.53.5
- v0.53.4
- v0.53.3
- v0.52.2
- v0.52.1
- v0.52.0
- v0.51.4
- v0.51.3
- v0.51.2
- v0.51.1
- v0.51.0
- v0.50.4
- v0.50.3
- v0.50.2
- v0.50.1
- v0.50.0
- v0.49.1
- v0.49.0
- v0.48.3
- v0.48.2
- v0.48.1
- v0.48.0
- v0.47.2
- v0.47.1
- v0.47.0
- v0.46.1
- v0.46.0
- v0.45.1
- v0.45.0
- v0.44.0
- v0.43.0
- v0.42.0
- v0.41.0
- v0.40.0
- v0.39.0
- v0.38.1
- v0.38.0
- v0.37.3
- v0.37.2
- v0.37.1
- v0.37.0
- v0.36.0
- v0.35.0
- v0.34.0
- v0.33.1
- v0.33.0
- v0.32.0
- v0.31.0
- v0.30.1
- v0.30.0
- v0.29.0
- v0.28.0
- v0.27.1
- v0.27.0
- v0.26.0
- v0.25.0
- v0.24.0
- v0.23.1
- v0.23.0
- v0.22.3
- v0.22.2
- v0.22.1
- v0.22.0
- v0.21.0
- v0.20.0
- v0.19.0
- v0.18.4
- v0.18.3
- v0.18.2
- v0.18.1
- v0.18.0
- v0.17.1
- v0.17.0
- v0.16.2
- v0.16.1
- v0.16.0
- v0.15.0
- v0.14.0
- v0.13.0
- v0.12.1
- v0.12.0
- v0.11.1
- v0.11.0
- v0.10.0
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.0
- v0.7.1
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2024-08-27 12:30:33 UTC
README
安装
composer require bondarde/lox
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
如有需要,请在 config/permission.php
中自定义表名,例如:
'table_names' => [
'roles' => 'acl_roles',
'permissions' => 'acl_permissions',
'model_has_permissions' => 'acl_model_has_permissions',
'model_has_roles' => 'acl_model_has_roles',
'role_has_permissions' => 'acl_role_has_permissions',
],
运行迁移
php artisan migrate
如有需要,请将中间件别名添加到 app/Http/Kernel.php
文件中的 $middlewareAliases
数组中
protected $middlewareAliases = [
…
'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
'role_or_permission' => \Spatie\Permission\Middlewares\RoleOrPermissionMiddleware::class,
…
];
如有需要,请在 AuthServiceProvider
的 boot()
方法中授予 "super-admin" 角色所有权限
Gate::before(
fn($user, $ability) => $user->hasRole(AclSetupData::ROLE_SUPER_ADMIN) && $ability !== AclSetupData::PERMISSION_VIEW_MODEL_META_DATA
? true
: null
);
创建超级管理员角色和所有配置的角色/权限
php artisan acl:update-roles-and-permission
注册后,通过 ID 或电子邮件地址将管理员组分配给(您的)用户
php artisan acl:make-super-admin 1
或者
php artisan acl:make-super-admin mail@example.com
发布配置
php artisan vendor:publish --provider="BondarDe\Lox\LoxServiceProvider" --tag=config
此命令还将发布
package.json
postcss.config.json
tailwind.config.js
vite.config.js
样式
发布
php artisan vendor:publish --provider="BondarDe\Lox\LoxServiceProvider" --tag=styles
将它们添加到您的 resources/scss/app.scss
@tailwind base;
@tailwind components;
@tailwind utilities;
@import 'lox/base';
@import 'lox/tools';
@import 'lox/boolean';
Tailwind 配置
php artisan vendor:publish --provider="BondarDe\Lox\LoxServiceProvider" --tag=tailwind
汉堡菜单作为 Tailwind 插件
php artisan vendor:publish --provider="BondarDe\Lox\LoxServiceProvider" --tag=tailwind-burger-menu
Laravel Vite & Tailwind CSS
package.json
:
{
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build"
},
"devDependencies": {
"autoprefixer": "^10.4.0",
"laravel-vite-plugin": "^0.5.2",
"postcss": "^8.4.4",
"sass": "^1.30.0",
"sass-loader": "^12.6.0",
"tailwindcss": "^3.2.0",
"vite": "^3.0.4"
}
}
构建和部署
为不同阶段构建
composer/bin/dep build stage=test
composer/bin/dep deploy stage=test
对于 本地 OPCache 重置,需要调用 http://127.0.0.1/opcache-reset.php
来调用 PHP 的 opcache_clear()
如果不可能,请将其添加到 deploy.php
set('opcache_reset_mode', 'remote');
用户 deployer
应该能够执行 sudo
而不提示密码,用于 chmod
、chown
和 chgrp
sudo visudo
deployer ALL=(ALL:ALL) NOPASSWD: /usr/bin/chmod *
deployer ALL=(ALL:ALL) NOPASSWD: /usr/bin/chown *
deployer ALL=(ALL:ALL) NOPASSWD: /usr/bin/chgrp *
Vite 构建
npm run vite
npm run vite build
使用方法
页面结构
<x-page
title="Page Title"
h1="Headline"
>
<p>Your page content, beautifully staged.</p>
</x-page>
对于页面组件,您必须创建页面头部和页脚
php artisan make:component HtmlHeader
php artisan make:component PageHeader
php artisan make:component PageFooter
php artisan make:component AdminPage
表单
<x-form-row
for="input-name"
>
...
</x-form-row>
按钮
待定
FortifyServiceProvider
发布
php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider"
在 boot()
中添加
Fortify::registerView(config('lox.views.auth.register'));
Fortify::loginView(config('lox.views.auth.login'));
Fortify::confirmPasswordView(config('lox.views.auth.confirm-password'));
Fortify::requestPasswordResetLinkView(config('lox.views.auth.forgot-password'));
Fortify::resetPasswordView(config('lox.views.auth.reset-password'));
Fortify::twoFactorChallengeView(config('lox.views.auth.two-factor-challenge'));
Fortify::verifyEmailView(config('lox.views.auth.verify-email'));
在 config/app.php
中添加服务提供者
\App\Providers\FortifyServiceProvider::class,
数据库会话存储
php artisan session:table
php artisan migrate
单点登录(SSO)
在 config/fortify.php
中的 features
数组中添加 "sso"
。
在 config/fortify-options.php
中添加 SSO 提供者,例如:
return [
'sso' => [
'apple' => true,
'facebook' => true,
'twitter' => true,
],
];
对于每个提供者,安装 Socialite Providers 软件包
composer require socialiteproviders/<provider>
按照安装步骤进行:[https://socialiteproviders.com/](https://socialiteproviders.com/)