萌新第一次公司項目上webman框架
項目上我大量使用了靜態(tài)的方法,之前都是使用TP框架;經(jīng)常使用new來訪問實例。
// 我的控制方法
public function menus(): Response
{
$data = SysMenuService::list();
return renderSuccess($data);
}
// 業(yè)務(wù)邏輯
public static function list(): array
{
$uid = SysAdminService::getLoginId();
// 查詢對應(yīng)的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的,還是開發(fā)人員 自己可以決定用框架都行,要是自己決定 那是真好呀
挺好呀,還能自己定框架,tp我就不知道這框架 有啥好的? 有啥它能干的 webman不能寫的? 現(xiàn)在tp6 以后都是學(xué)習(xí)laravel了,還不如直接用laravel呢
不管是否靜態(tài),代碼都是加載到內(nèi)存的。使用new的好處在于可以集中初始化或者銷毀一系列的變量,比如你在使用模型的事件的時候,你能對這個模型掛載了10個事件,每個事件會對模型寫入不同的數(shù)據(jù),但是一旦所以事件執(zhí)行完畢,模型銷毀的時候會把這個過程中產(chǎn)生的數(shù)據(jù)一起銷毀,因為模型使用的時候是new語法。