php / php/php-src

Creation of dynamic property is deprecated !

Đang mở
#12,694 19 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Bug Status: Needs Triage
Ngôn ngữ chính
C
Star
40.4k
Fork
8.1k
Merge trung bình
2 ngày 13 giờ
Pull request đã merge (30 ngày)
96

Mô tả

Description

The following code ( This should never happen when I'm using magic methods, but unfortunately it does happen sometimes ):

<?php
final class Content {
	protected array $data = array('sequence'=>1);

	public function &__get(string $property) : mixed {
		if(isset($this->data[$property]) === false):
			$this->data[$property] = null;
		endif;
		return $this->data[$property];
	}
	public function __set(string $name,mixed $value) : void {
		$this->data[$name] = $value;
	}
}

$content = new Content();
$result = $content->sequence * 2 + 1;
$content->sequence += 1;
print $result;

Result:

3

But sometimes when the number of such requests increases, I receive the following warning :

Creation of dynamic property Content::$sequence is deprecated 18
PHP Version

PHP 8.2.11

Operating System

Linux

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách chạy bản tái hiện với PHP 8.2.11 từ issue trên Linux và so sánh các lần truy cập phương thức ma thuật với cảnh báo về thuộc tính động đã được báo cáo. Theo dõi cách runtime xử lý __get, __set và phép gán kết hợp để xác định cảnh báo bắt nguồn từ đâu. Công việc hoàn thành phải bao gồm một giải thích đã được xác nhận và một bài kiểm thử hồi quy hoặc một thay đổi hành vi được định nghĩa rõ ràng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
php
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.