小编Pet*_*uib的帖子

Rector 没有发现任何需要更改的内容(将 Doctrine 注释转换为属性)

由于 Doctrine 似乎在其最新更新中完全删除了注释支持,因此我尝试使用 Rector 将实体中的注释转换为属性。

我遵循(看似)简单的官方教程- 我有完全相同的ector.php内容,没有NetteSetList:

use Rector\Doctrine\Set\DoctrineSetList;
use Rector\Symfony\Set\SymfonySetList;
use Rector\Symfony\Set\SensiolabsSetList;
use Rector\Config\RectorConfig;

return function (RectorConfig $rectorConfig): void {
    $rectorConfig->sets([
        DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,
        SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES,
        SensiolabsSetList::FRAMEWORK_EXTRA_61,
    ]);
};
Run Code Online (Sandbox Code Playgroud)

我用 运行测试vendor/bin/rector process src/Entity --dry-run --debug

它确实列出了 中的每个实体src/Entity,但没有检测到任何可能的更改,此时它应该用属性替换每个学说注释。

php symfony doctrine-orm rector php-8

7
推荐指数
1
解决办法
2950
查看次数

清空 $request->request 和 $request->带有 multipart/form-data 的文件

我正在尝试使用 AJAX 将带有文件的表单上传到我的服务器,但 Symfony 没有像应有的那样解析请求正文。这是我的 PHP:

#[Route('/api/upload/file', name: "api_upload_file", methods: ['POST'])]
public function create(Request $request): JsonResponse
{
    dump($request->files->all());
    dump($request->request->all());
    dump($request->getContent());
...
Run Code Online (Sandbox Code Playgroud)

和转储输出(文件部分被删除,因为它占用大量空间):

[]
Run Code Online (Sandbox Code Playgroud)
[]
Run Code Online (Sandbox Code Playgroud)
"""
------WebKitFormBoundaryh4t0I09h9iTRNGme
Content-Disposition: form-data; name="subcategory"

1
------WebKitFormBoundaryh4t0I09h9iTRNGme
Content-Disposition: form-data; name="main_image"; filename=""
Content-Type: application/octet-stream


------WebKitFormBoundaryh4t0I09h9iTRNGme
Content-Disposition: form-data; name="more_images"; filename=""
Content-Type: application/octet-stream


------WebKitFormBoundaryh4t0I09h9iTRNGme
Content-Disposition: form-data; name="original_version"


------WebKitFormBoundaryh4t0I09h9iTRNGme
Content-Disposition: form-data; name="version"


------WebKitFormBoundaryh4t0I09h9iTRNGme
Content-Disposition: form-data; name="original_title"


------WebKitFormBoundaryh4t0I09h9iTRNGme
Content-Disposition: form-data; name="title"
"""
Run Code Online (Sandbox Code Playgroud)

请求显然通过了,所以我不明白为什么内容没有被解析

以防万一,这里是 javascript 部分:(这看起来像 JQuery,但不是)

form.submit(e => {
        e.preventDefault();
        let formData = createItemForm.formData();
        $.ajax('/api/upload/file', {
            headers: {
                'Content-Type': 'multipart/form-data' …
Run Code Online (Sandbox Code Playgroud)

php ajax symfony php-8 symfony6

2
推荐指数
1
解决办法
4687
查看次数

标签 统计

php ×2

php-8 ×2

symfony ×2

ajax ×1

doctrine-orm ×1

rector ×1

symfony6 ×1