Skip to main content

控制器

AdminController

后台入口控制器,是其他控制器的父级,主要负责处理:

  • middleware 判断是否登录和后台用户
  • $this->user 参数,后台登录用户
  • $this->gate('menu.item') 权限判断方法
Gtd\Suda\Http\Controllers\AdminController

DashboardController

控制台入口控制器

  • 控制台入口
  • 控制台菜单
  • 控制台视图和资源
use Gtd\Suda\Http\Controllers\AdminController;
Gtd\Suda\Http\Controllers\Admin\DashboardController extends AdminController

ExtensionController

应用控制器父级。 应用开发中后台需继承这个控制器。

  • 获取当前应用信息
  • 处理应用资源
Gtd\Suda\Http\Controllers\Admin\ExtensionController;

控制器示例

<?php

namespace YourExtension;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Cache;

use Gtd\Suda\Http\Controllers\Admin\DashboardController;

use Gtd\Suda\Models\Media;

class YourController extends DashboardController
{

public function index(Request $request)
{
// 判断权限
$this->gate('youru_menu.index');

// 面包屑导航
$this->breadParent('控制面板','/');
$this->breadSet('我的应用','');

// 页面标题
$this->title('我的应用');
// 设置当前菜单
$this->setMenu('your_menu','index');

// 设置页面数据
$this->setData('your_test',['your'=>'test']);
$this->setData('your_data',['your'=>[
'a' => 'a',
'b' => 'b',
]]);

// responseJson
// self.refresh 表示当前页面刷新
return $this->responseAjax('fail','操作错误',$redirect_url?$redirect_url:'self.refresh');
return $this->responseAjax('success','操作成功',$redirect_url?$redirect_url:'self.refresh');

// 跳转
return $this->redirect('404', 'pages not found');

// 当前路由直接返回错误
return $this->dispatchError(404, 'pages not found');



// 输出显示
// your.index 存储目录 [应用目录]/resources/views/admin/your/index
return $this->display('your.index');
}
}