大佬帮帮忙看个代码吧

864328615

问题描述

这里是封装的一个类,大概想实现一个策略模式,根据传入的platform 参数去实例对应的实现类

<?php
declare(strict_types=1);

namespace mini;

use mini\src\platform\Wx;
use mini\src\platform\Dy;

/**
 * Class Factory
 * @method app(array $config=[]) 获取app
 * @method login(string $code='') 登陆
 */

class Factory
{
//    public static function get(string $platform = 'Wx')
//    {
//        $class = ucfirst($platform);
//        return new $class();
//    }

    public function __construct(string $platform = 'Wx')
    {
        $class = ucfirst($platform);
        $a = new $class;
        var_dump($a);
    }
}

//调用

/**
    * 小程序登陆
    */
    public function login()
    {
        $factory = new Factory($this->platform);
        var_dump($factory);
    }

现在总是报Wx 类不存在,这个是我瞎写的策略模式 我看网上的都不够精炼,自己写了下,大佬们给瞧瞧吧

326 2 0
2个回答

Mr_Deng

你这也不是策略吧,像是简单工厂

  • 暂无评论
胡桃


动态的类名称、函数名称或常量名称,一律视为完全限定名称。

  • 864328615 2023-12-12

    找到原因了大佬 我放extend里面了 改那里的代码 服务没重启导致的类找不到 谢谢

🔝