From 74342aabdde3cddf6d6a35e1609456b1acf40c11 Mon Sep 17 00:00:00 2001 From: 9007967 <33853639+9007967@users.noreply.github.com> Date: Wed, 30 Dec 2020 15:09:49 +0800 Subject: [PATCH] =?UTF-8?q?controller=20=E6=96=B9=E6=B3=95=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=8E=B7=E5=8F=96=E5=A4=9A=E5=B1=82=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=99=A8=E6=9C=80=E5=90=8E=E6=8E=A7=E5=88=B6=E5=99=A8=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用方法 Request::controller(false, true); 第二参数设置为true; PHP8可以直接 Reuqest::controller(suffix:true); 主要效果 v1.main 使用新方法后可以直接获取 mian控制器名称 --- src/think/Request.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/think/Request.php b/src/think/Request.php index 3e0b24fea1..0ff693fbe6 100644 --- a/src/think/Request.php +++ b/src/think/Request.php @@ -1854,12 +1854,16 @@ public function setAction(string $action) /** * 获取当前的控制器名 * @access public - * @param bool $convert 转换为小写 + * @param bool $convert 转换为小写 + * @param bool $suffix 获取多层控制器最后控制器名称 * @return string */ - public function controller(bool $convert = false): string + public function controller (bool $convert = false, bool $suffix = false): string { $name = $this->controller ?: ''; + if ($suffix and $suffix_offset = strpos($name, '.')) { + $name = substr($name, $suffix_offset + 1); + } return $convert ? strtolower($name) : $name; }