关于new和静态调用方法

故人重来

问题描述

萌新第一次公司项目上webman框架

请教大佬们一个问题。

项目上我大量使用了静态的方法,之前都是使用TP框架;经常使用new来访问实例。

    // 我的控制方法
    public function menus(): Response
    {
        $data = SysMenuService::list();
        return renderSuccess($data);
    }
    // 业务逻辑
    public static function list(): array
    {
        $uid = SysAdminService::getLoginId();
        // 查询对应的roleIds
        $roleIds = SysAdminRoleModel::where('admin_id', $uid)->pluck('role_id')->toArray();
        if (empty($roleIds)) {
            throw new RespBusinessException('用户未分配角色');
        }
        $menuIds = SysRoleMenusModel::query()->whereIn('role_id', $roleIds)->pluck('menu_id')->toArray();
        if (empty($menuIds)) {
            throw new RespBusinessException('角色未分配菜单');
        }
        $menus = SysMenuModel::whereIn('id', $menuIds)
            ->orderBy('order_no', 'ASC')
            ->select(['parent_id', 'type', 'id', 'active_menu', 'ext_open_mode', 'icon', 'is_ext', 'keep_alive', 'order_no', 'show', 'status', 'type', 'component', 'name', 'path'])
            ->get()
            ->toArray();
        return self::filterAsyncRoutes($menus);
    }

因为webman是常驻内存的。之前的TP则是fpm模式。我想问下就是有没有什么影响呢?我这边变量都是局部变量在方法里面声明的变量,没有在方法外部声明全局变量的。我想问下不会出现变量跑串了吧???

346 4 0
4个回答

walkor

没有问题

  • 暂无评论
tanhongbin

你们公司 谁决定用webman的,还是开发人员 自己可以决定用框架都行,要是自己决定 那是真好呀

  • 故人重来 2024-07-30

    看项目谁来搭建基础框架,我就是小虾米,不能搭建基础框架;老大说用TP我只能TP。但是他最近太忙了。我就来当山大王了

  • tanhongbin 2024-07-30

    挺好呀,还能自己定框架,tp我就不知道这框架 有啥好的? 有啥它能干的 webman不能写的? 现在tp6 以后都是学习laravel了,还不如直接用laravel呢

  • 故人重来 2024-07-30

    laravel我是真的一点都不会

  • tanhongbin 2024-07-30

    tp6 基本和 laravel 没啥大区别了 哈哈

释永战

完全没问题···

  • 暂无评论
army

完全没问题,我整个项目都是静态,没有一处new

×
🔝