这里是封装的一个类,大概想实现一个策略模式,根据传入的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 类不存在,这个是我瞎写的策略模式 我看网上的都不够精炼,自己写了下,大佬们给瞧瞧吧
你这也不是策略吧,像是简单工厂
动态的类名称、函数名称或常量名称,一律视为完全限定名称。
找到原因了大佬 我放extend里面了 改那里的代码 服务没重启导致的类找不到 谢谢