小编sam*_*het的帖子

VSCode 的智能电话中未定义类型“Imagick”

我遇到了一个问题,我通过 Pecl 安装了 Imagick,但 Intelephense 不知道如何处理该扩展并且未能显示任何代码完成,即使该扩展已正确安装在 php.ini 文件中并且工作正常。
一些屏幕截图,以使其更加清晰:
1.使用 Imagick 的代码
2. 显示 imagick 扩展安装在 php.ini 中的 Bash 输出:

ddruganov@MBP-Demid:~$ php -i | grep imagick
imagick
imagick module => enabled
imagick module version => 3.4.4
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.skip_version_check => 0 => 0
Run Code Online (Sandbox Code Playgroud)
  1. Bash 输出显示扩展所在的位置:
ddruganov@MBP-Demid:~$ mdfind imagick.so
/usr/local/lib/php/pecl/20190902/imagick.so
Run Code Online (Sandbox Code Playgroud)

php imagick visual-studio-code intelephense

10
推荐指数
1
解决办法
2452
查看次数

Swagger - “未找到所需的 @OA\Info()”

我刚刚进入 api 文档并尝试使用 Swagger

这是我的 php 文件,其中包含我想要记录的路由:

<?php

use OpenApi\Annotations as OA;

/**
 * @OA\Info(title="My First API", version="0.1")
 */
return [
    /**
     * @OA\Get(
     *     path="/api/v1/test",
     *     @OA\Response(response="200", description="An example resource")
     * )
     */
    'GET api/v1/test' => 'test/index',
];
Run Code Online (Sandbox Code Playgroud)

但是当我运行./vendor/bin/openapi api/config/routes.phpcli 时只输出错误:

Warning: Required @OA\Info() not found
Warning: Required @OA\PathItem() not found
openapi: 3.0.0
Run Code Online (Sandbox Code Playgroud)

然后我尝试了 Swagger2,效果很好

我使用dockerphp8.1镜像php:8.1-fpm-alpine、最新的zircote/swagger-php软件包和 Yii2 框架

php swagger-php openapi

3
推荐指数
1
解决办法
1万
查看次数