php 类型转换问题?

namespace app\facade;

use app\service\AdminService;

class TestFacade
{

    function test()
    {
        /**
         * @var AdminService $adminServcie
         */
        $adminService = invoke(AdminService::class);
    }
}

上面的代码是,我从容器里面实例化的一个类,AdminService,invoke返回的是一个mixed任意类型,这样我就出现了一个问题了。

如果我不写@var 标注,我的编辑器就无法识别这个$adminService 实例下的方法了。

请问如何将$adminService 转换成AdminServcie 类型!

$adminService = (AdminService)invoke(AdminService::class);

$adminService = (AdminService::class)invoke(AdminService::class);

// 这样写是错的
阅读 2.7k
2 个回答

编辑器无法识别invoke()返回类型的时候,好像只有通过@var 标注才行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题