🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 请求信息 * * * * * 首先能阅读到此处的道友相信对TP5也是比较了解的,若还不了解的话可以先去阅读TP5手册。 在TP5中请求信息都封装在request对象中,OneBase在公共控制器中取出了部分request对象中的数据便于后续使用,当然若使用次数不多的也可以直接用request对象获取。 下面看看取出来了哪些信息 ~~~ /** * 初始化请求信息 */ final private function initRequestInfo() { defined('IS_POST') or define('IS_POST', $this->request->isPost()); defined('IS_GET') or define('IS_GET', $this->request->isGet()); defined('IS_AJAX') or define('IS_AJAX', $this->request->isAjax()); defined('IS_PJAX') or define('IS_PJAX', $this->request->isPjax()); defined('IS_MOBILE') or define('IS_MOBILE', $this->request->isMobile()); defined('MODULE_NAME') or define('MODULE_NAME', strtolower($this->request->module())); defined('CONTROLLER_NAME') or define('CONTROLLER_NAME', strtolower($this->request->controller())); defined('ACTION_NAME') or define('ACTION_NAME', strtolower($this->request->action())); defined('URL') or define('URL', CONTROLLER_NAME . SYS_DS_PROS . ACTION_NAME); defined('URL_MODULE') or define('URL_MODULE', MODULE_NAME . SYS_DS_PROS . URL); defined('URL_TRUE') or define('URL_TRUE', $this->request->url(true)); defined('DOMAIN') or define('DOMAIN', $this->request->domain()); $this->param = $this->request->param(); } ~~~ 可以看到这个方法中有很多常量,这些常量就是OneBase通过request对象中的信息进行了组织后定义的。 再后续使用中也更方便,比如 IS_POST 这种简直太方便啦。 这些常量就不一个一个介绍了,OB使用者都是有一定水平的喔。 下面的$this->param = $this->request->param(); 就是把表单中提交的数据换了一个载体。 ~~~ /** * SEO添加 */ public function seoAdd() { IS_POST && $this->jump($this->logicSeo->seoEdit($this->param)); return $this->fetch('seo_edit'); } ~~~ 比如上面这段代码就使用了 $this->param,因为其他控制器基本上都继承了ControllerBase,所以直接通过 $this->param即可获取表单提交的数据了。