如何简化和优化这段 PHP 代码,同时其静态方法在大量调用时不会堆积内存空间?

帖子列表 发布于 01/31 10:43
阅读 134
收藏 0
PHP
class Master
{
    public static function name($alias) {
        return static::getObjectByAlias($alias) ? static::getObjectByAlias($alias)::NAME_ZH : '';
    }

    public static function getObjectByAlias($alias) {
        try {
            $channelClass = "Lobster\\Channel\\".Str::camel($alias);
            if (class_exists($channelClass)) {
                return new $channelClass;
            }

            return null;
        } catch (\Exception $e) {
            return null;
        }
    }
}
加载中
0
零度开水
class Master
{
    private static $objects = [];

    public static function name($alias) {
        return static::getObjectByAlias($alias) ? static::getObjectByAlias($alias)::NAME_ZH : '';
    }

    public static function getObjectByAlias($alias) {
        try {
            $channelClass = "Lobster\\Channel\\".Str::camel($alias);
            if (class_exists($channelClass)) {
                if (!isset(self::$objects[$channelClass])) {
                    self::$objects[$channelClass] = new $channelClass;
                }
                return self::$objects[$channelClass];
            }

            return null;
        } catch (\Exception $e) {
            return null;
        }
    }
}

 

帖子列表
帖子列表
这个真的可以吗?
返回顶部
顶部