jqhph / dcat-admin

🔥 基于 Laravel 的后台系统构建工具 (Laravel Admin),使用很少的代码快速构建一个功能完善的高颜值后台系统,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码
http://www.dcatadmin.com
MIT License
3.9k stars 713 forks source link

高版本的php和Laravel报错 #2102

Closed jefferyjob closed 1 month ago

jefferyjob commented 10 months ago

Description:

这些代码在我使用过程中一直提示 warning 类型的日志错误,一般的企业开发环境都会监控 warning 和 error 类型的如何,如果作者不解决这些问题,会对开发造成非常不友好的问题。辛苦麻烦看看这个问题。

Creation of dynamic property Dcat\Admin\Support\WebUploader::$file is deprecated in /www/vendor/dcat/laravel-admin/src/Support/WebUploader.php on line 36
Creation of dynamic property Dcat\Admin\Support\WebUploader::$upload_column is deprecated in /www/vendor/dcat/laravel-admin/src/Support/WebUploader.php on line 35
Creation of dynamic property Dcat\Admin\Support\WebUploader::$chunks is deprecated in /www/vendor/dcat/laravel-admin/src/Support/WebUploader.php on line 34
Creation of dynamic property Dcat\Admin\Support\WebUploader::$chunk is deprecated in /www/vendor/dcat/laravel-admin/src/Support/WebUploader.php on line 33
Creation of dynamic property Dcat\Admin\Support\WebUploader::$_id is deprecated in /www/vendor/dcat/laravel-admin/src/Support/WebUploader.php on line 32

Steps To Reproduce:

yi4396 commented 10 months ago

PHP8.2弃用了类动态添加属性,在 PHP 8.2 及更高版本中,不推荐为未声明的类属性设置值,并在应用程序执行生命周期内首次设置该属性时发出弃用通知。 PHP 8.2在全局命名空间中引入了 #[AllowDynamicProperties]。使用此属性声明的类会指示 PHP 在为该类的对象设置动态属性时不发出任何弃用通知。

#[AllowDynamicProperties]
 class User {
     private int $uid;
 }

 $user = new User();
 $user->name = 'Foo';
aogg commented 6 months ago

+1

PorygonCN commented 1 month ago

还请暂时使用 @yi4396 的方法,后续我们会尝试解决这个问题

jefferyjob commented 1 month ago

PHP8.2弃用了类动态添加属性,在 PHP 8.2 及更高版本中,不推荐为未声明的类属性设置值,并在应用程序执行生命周期内首次设置该属性时发出弃用通知。 PHP 8.2在全局命名空间中引入了 #[AllowDynamicProperties]。使用此属性声明的类会指示 PHP 在为该类的对象设置动态属性时不发出任何弃用通知。

#[AllowDynamicProperties]
 class User {
     private int $uid;
 }

 $user = new User();
 $user->name = 'Foo';

具体加到哪个位置呢,难道我要直接改 vendor 吗 😂