Automattic / Automattic/VIP-Coding-Standards
WordPress.WP.AlternativeFunctions.file_system_operations error messages cannot be fixed anymore
- Ngôn ngữ chính
- PHP
- Star
- 261
- Fork
- 44
- Merge trung bình
- 19 phút
- Pull request đã merge (30 ngày)
- 1
Mô tả
## Bug Description
`WordPress.WP.AlternativeFunctions.file_system_operations` error messages are overwritten in the ruleset, e.g.
```
File system operations only work on the `/tmp/` and `wp-content/uploads/` directories. To avoid unexpected results, please use helper functions like `get_temp_dir()` or `wp_get_upload_dir()` to get the proper directory path when using functions such as %s(). For more details, please see: https://docs.wpvip.com/technical-references/vip-go-files-system/local-file-operations/
```
However since WPCS 3.0.0 this error can only be fixed by using `WP_Filesystem`. Neither `get_temp_dir()` or `wp_get_upload_dir()` will make the error go away and it's unclear why (unless you debug and find the original error message where it says `WP_Filesystem`)
## Minimal Code Snippet
```php
$f = fopen( get_temp_dir() . '/abc.log' );
```
## Error Code
`WordPress.WP.AlternativeFunctions.file_system_operations_fopen`
## Environment
| Question | Answer
| ------------------------ | -------
| PHP version | 8.3
| VIPCS version | 3.0.0
| WordPressCS version | 3.1.0
## Additional Context (optional)
With `WP_Filesystem`, I think it's unnecessary to overwrite those errors in the first place and these overwrites can all be removed from ruleset.xml
Possibly, errors like `WordPressVIPMinimum.Functions.RestrictedFunctions.file_ops_fputcsv` should be changed to a also only allow `WP_Filesystem` ?
## Tested Against `main` branch?
- [ ] I have verified the issue still exists in the `main` branch of VIPCS.
- [ ] I have verified the issue still exists in the `develop` branch of VIPCS.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu trong ruleset.xml, tại các rule WordPress.WP.AlternativeFunctions.file_system_operations, và so sánh các message đã cấu hình với hành vi trong VIPCS 3.0.0 và WordPressCS 3.1.0. Tái hiện vấn đề bằng snippet fopen() được cung cấp và xác minh hướng dẫn thu được. Hoàn tất khi các lỗi được báo cáo không còn chứa hướng dẫn khắc phục gây hiểu lầm và mọi rule liên quan đến thao tác file đều có hành vi rõ ràng, nhất quán.
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, wordpress
- Lĩnh vực
- tooling
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 48/100