BREAKING: increase PHP version requirement to 8.1.0
This commit is contained in:
parent
d96dff1144
commit
b811a7ae41
@ -40,7 +40,7 @@ Blessing Skin 是一个开源的 PHP 项目,这意味着您可以自由地在
|
||||
Blessing Skin 对您的服务器有一定的要求。在大多数情况下,下列所需的 PHP 扩展已经开启。
|
||||
|
||||
- 一台支持 URL 重写的主机,Nginx 或 Apache
|
||||
- PHP >= 8.0.2
|
||||
- PHP >= 8.1.0
|
||||
- 安装并启用如下 PHP 扩展:
|
||||
- OpenSSL >= 1.1.1 (TLS 1.3)
|
||||
- PDO
|
||||
|
@ -40,7 +40,7 @@ Blessing Skin is an open-source project written in PHP, which means you can depl
|
||||
Blessing Skin has only a few system requirements. In most cases, these PHP extensions are already enabled.
|
||||
|
||||
- Web server with URL rewriting enabled (Nginx or Apache)
|
||||
- PHP >= 8.0.2
|
||||
- PHP >= 8.1.0
|
||||
- PHP Extensions
|
||||
- OpenSSL >= 1.1.1 (TLS 1.3)
|
||||
- PDO
|
||||
|
@ -9,25 +9,21 @@ class ScopeObserver
|
||||
{
|
||||
/**
|
||||
* Handle the Scope "saved" event.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function saved()
|
||||
public function saved(): void
|
||||
{
|
||||
$this->refreshCachedScopes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the Scope "deleted" event.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function deleted()
|
||||
public function deleted(): void
|
||||
{
|
||||
$this->refreshCachedScopes();
|
||||
}
|
||||
|
||||
protected function refreshCachedScopes()
|
||||
protected function refreshCachedScopes(): void
|
||||
{
|
||||
Cache::forget('scopes');
|
||||
Cache::rememberForever('scopes', function () {
|
||||
|
@ -10,14 +10,14 @@ use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function register()
|
||||
public function register(): void
|
||||
{
|
||||
$this->app->singleton('cipher', 'App\Services\Cipher\\'.config('secure.cipher'));
|
||||
$this->app->singleton(Services\Option::class);
|
||||
$this->app->alias(Services\Option::class, 'options');
|
||||
}
|
||||
|
||||
public function boot(Request $request)
|
||||
public function boot(Request $request): void
|
||||
{
|
||||
Paginator::useBootstrap();
|
||||
|
||||
|
@ -9,19 +9,17 @@ use Laravel\Passport\Passport;
|
||||
class AuthServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* The policy mappings for the application.
|
||||
* The model to policy mappings for the application.
|
||||
*
|
||||
* @var array
|
||||
* @var array<class-string, class-string>
|
||||
*/
|
||||
protected $policies = [
|
||||
];
|
||||
|
||||
/**
|
||||
* Register any authentication / authorization services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
public function boot(): void
|
||||
{
|
||||
$defaultScopes = [
|
||||
'User.Read' => 'auth.oauth.scope.user.read',
|
||||
|
@ -9,7 +9,11 @@ use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvi
|
||||
|
||||
class EventServiceProvider extends ServiceProvider
|
||||
{
|
||||
// The event listener mappings for the application.
|
||||
/**
|
||||
* The event to listener mappings for the application.
|
||||
*
|
||||
* @var array<class-string, array<int, class-string>>
|
||||
*/
|
||||
protected $listen = [
|
||||
'App\Events\PluginWasEnabled' => [
|
||||
Listeners\CopyPluginAssets::class,
|
||||
@ -44,10 +48,8 @@ class EventServiceProvider extends ServiceProvider
|
||||
|
||||
/**
|
||||
* Register any events for your application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
public function boot(): void
|
||||
{
|
||||
Scope::observe(ScopeObserver::class);
|
||||
}
|
||||
|
@ -7,13 +7,13 @@ use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class PluginServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function register()
|
||||
public function register(): void
|
||||
{
|
||||
$this->app->singleton(PluginManager::class);
|
||||
$this->app->alias(PluginManager::class, 'plugins');
|
||||
}
|
||||
|
||||
public function boot(PluginManager $plugins)
|
||||
public function boot(PluginManager $plugins): void
|
||||
{
|
||||
$plugins->boot();
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ class RouteServiceProvider extends ServiceProvider
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*/
|
||||
public function map(Router $router)
|
||||
public function map(Router $router): void
|
||||
{
|
||||
$this->mapStaticRoutes($router);
|
||||
|
||||
@ -40,7 +40,7 @@ class RouteServiceProvider extends ServiceProvider
|
||||
* Define the "web" routes for the application.
|
||||
* These routes all receive session state, CSRF protection, etc.
|
||||
*/
|
||||
protected function mapWebRoutes(Router $router)
|
||||
protected function mapWebRoutes(Router $router): void
|
||||
{
|
||||
Route::middleware(['web'])
|
||||
->namespace($this->namespace)
|
||||
@ -51,7 +51,7 @@ class RouteServiceProvider extends ServiceProvider
|
||||
* Define the "static" routes for the application.
|
||||
* These routes will not load session, etc.
|
||||
*/
|
||||
protected function mapStaticRoutes(Router $router)
|
||||
protected function mapStaticRoutes(Router $router): void
|
||||
{
|
||||
Route::namespace($this->namespace)
|
||||
->group(base_path('routes/static.php'));
|
||||
@ -61,7 +61,7 @@ class RouteServiceProvider extends ServiceProvider
|
||||
* Define the "api" routes for the application.
|
||||
* These routes are typically stateless.
|
||||
*/
|
||||
protected function mapApiRoutes()
|
||||
protected function mapApiRoutes(): void
|
||||
{
|
||||
Route::prefix('api')
|
||||
->middleware(
|
||||
|
@ -3,12 +3,12 @@
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Http\View\Composers;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use View;
|
||||
|
||||
class ViewServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function boot()
|
||||
public function boot(): void
|
||||
{
|
||||
View::composer([
|
||||
'home',
|
||||
|
@ -29,7 +29,7 @@ ini_set('display_errors', true);
|
||||
file_put_contents($envPath, preg_replace('/APP_KEY\s*=\s*/', 'APP_KEY='.$key."\n\n", $envFile));
|
||||
}
|
||||
|
||||
$requiredVersion = '8.0.2';
|
||||
$requiredVersion = '8.1.0';
|
||||
preg_match('/(\d+\.\d+\.\d+)/', PHP_VERSION, $matches);
|
||||
$version = $matches[1];
|
||||
if (version_compare($version, $requiredVersion, '<')) {
|
||||
|
@ -3,7 +3,7 @@
|
||||
"description": "A web application brings your custom skins back in offline Minecraft servers.",
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": ">=8.0.2",
|
||||
"php": "^8.1",
|
||||
"ext-ctype": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-json": "*",
|
||||
@ -28,7 +28,7 @@
|
||||
"laravel/passport": "^11.0",
|
||||
"lorisleiva/laravel-search-string": "^1.0",
|
||||
"nesbot/carbon": "^2.0",
|
||||
"nunomaduro/collision": "^6.1",
|
||||
"nunomaduro/collision": "^7.0",
|
||||
"rcrowe/twigbridge": "^0.14",
|
||||
"spatie/laravel-translation-loader": "^2.7",
|
||||
"symfony/process": "^6.0",
|
||||
@ -41,12 +41,12 @@
|
||||
"barryvdh/laravel-ide-helper": "^2.10",
|
||||
"fakerphp/faker": "^1.13",
|
||||
"friendsofphp/php-cs-fixer": "^3.13",
|
||||
"laravel/browser-kit-testing": "^6.1",
|
||||
"laravel/browser-kit-testing": "^7.0",
|
||||
"laravel/tinker": "^2.4",
|
||||
"mockery/mockery": "^1.4",
|
||||
"phpunit/phpunit": "^9.4",
|
||||
"symfony/css-selector": "^5.0",
|
||||
"symfony/dom-crawler": "^5.0"
|
||||
"phpunit/phpunit": "^10.0",
|
||||
"symfony/css-selector": "^6.2",
|
||||
"symfony/dom-crawler": "^6.2"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@ -70,6 +70,7 @@
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"optimize-autoloader": true,
|
||||
"preferred-install": "dist",
|
||||
"sort-packages": true
|
||||
},
|
||||
|
765
composer.lock
generated
765
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -108,6 +108,7 @@ class NotificationsControllerTest extends TestCase
|
||||
|
||||
public function testRead()
|
||||
{
|
||||
/** @var User */
|
||||
$user = User::factory()->create();
|
||||
$user->notify(new Notifications\SiteMessage('Hyouka', 'Kotenbu?'));
|
||||
$user->refresh();
|
||||
@ -119,7 +120,7 @@ class NotificationsControllerTest extends TestCase
|
||||
$this->postJson('/user/notifications/'.$notification->id)
|
||||
->assertJson([
|
||||
'title' => $notification->data['title'],
|
||||
'content' => $converter->convertToHtml($notification->data['content'])->getContent(),
|
||||
'content' => $converter->convert($notification->data['content'])->getContent(),
|
||||
'time' => $notification->created_at->toDateTimeString(),
|
||||
]);
|
||||
$notification->refresh();
|
||||
|
@ -73,7 +73,7 @@ class UpdateControllerTest extends TestCase
|
||||
{
|
||||
return array_merge([
|
||||
'spec' => 2,
|
||||
'php' => '8.0.2',
|
||||
'php' => '8.1.0',
|
||||
'latest' => $version,
|
||||
'url' => "https://whatever.test/$version/update.zip",
|
||||
], $extra);
|
||||
|
@ -19,7 +19,7 @@ Copy-Item -Path "../$zip" -Destination $zip
|
||||
|
||||
$manifest.latest = $current
|
||||
$manifest.url = $manifest.url.Replace($last, $current)
|
||||
$manifest.php = '8.0.2'
|
||||
$manifest.php = '8.1.0'
|
||||
ConvertTo-Json $manifest | Out-File -FilePath update.json
|
||||
Write-Host "Update source is prepared." -ForegroundColor Green
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user