Heim Backend-Entwicklung PHP-Tutorial thinkphp url中action 没定义 也能访问到模板

thinkphp url中action 没定义 也能访问到模板

Jun 13, 2016 pm 12:16 PM
action method nbsp thinkphp this

thinkphp url中action 没有定义 也能访问到模板?
thinkphp   url中action 没有定义  也能访问到模板?

最近刚刚开始接触thinkphp   的框架,但是在看公司源码的时候,发现url中的action在类中没有对应的实现方法。

thinkphp   中有空操作和空模块之说, 我本来以为是通过空操作来实现的。

最终确认的结果:根本没有经过模块,直接把action对应的模板给display了。

本人刚刚接触thinkphp 不知道为什么  求大神帮忙
------解决思路----------------------
你看下配置里面是不是开启了路由功能,路由功能可以伪造地址;不知道这个是不是你现在遇到的问题。
------解决思路----------------------

引用:
你看下配置里面是不是开启了路由功能,路由功能可以伪造地址;不知道这个是不是你现在遇到的问题。

------解决思路----------------------
在进入用户自定义的action之前,会自动检测是否存在该方法
如果没有就直接读模板,连模板都没有就报一个该方法不存在之类的错误
------解决思路----------------------
引用:
Quote: 引用:

在进入用户自定义的action之前,会自动检测是否存在该方法
如果没有就直接读模板,连模板都没有就报一个该方法不存在之类的错误


谢谢你的解释,你能提供thinkphp官网对此说明的链接给我吗?


这个...没仔细看过官方的,根据它的表现完全可以逆推出原理
如果你感兴趣,可以完整阅读tp的源码
------解决思路----------------------
见 ThinkPHP/Library/Think/Controller.class.php  __call 方法
    /**<br />     * 魔术方法 有不存在的操作的时候执行<br />     * @access public<br />     * @param string $method 方法名<br />     * @param array $args 参数<br />     * @return mixed<br />     */<br />    public function __call($method,$args) {<br />        if( 0 === strcasecmp($method,ACTION_NAME.C('ACTION_SUFFIX'))) {<br />            if(method_exists($this,'_empty')) {<br />                // 如果定义了_empty操作 则调用<br />                $this->_empty($method,$args);<br />            }elseif(file_exists_case($this->view->parseTemplate())){<br />                // 检查是否存在默认模版 如果有直接输出模版<br />                $this->display();<br />            }else{<br />                E(L('_ERROR_ACTION_').':'.ACTION_NAME);<br />            }<br />        }else{<br />            E(__CLASS__.':'.$method.L('_METHOD_NOT_EXIST_'));<br />            return;<br />        }<br />    }<br />
Nach dem Login kopieren
这是一种容错技术,并不需要在使用手册中说明
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen 10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen Dec 18, 2023 pm 02:21 PM

Die Bildschirmhelligkeit ist ein wesentlicher Bestandteil der Nutzung moderner Computergeräte, insbesondere wenn Sie über einen längeren Zeitraum auf den Bildschirm schauen. Es hilft Ihnen, die Belastung Ihrer Augen zu reduzieren, die Lesbarkeit zu verbessern und Inhalte einfach und effizient anzuzeigen. Abhängig von Ihren Einstellungen kann es jedoch manchmal schwierig sein, die Helligkeit zu verwalten, insbesondere unter Windows 11 mit den neuen Änderungen an der Benutzeroberfläche. Wenn Sie Probleme beim Anpassen der Helligkeit haben, finden Sie hier alle Möglichkeiten, die Helligkeit unter Windows 11 zu verwalten. So ändern Sie die Helligkeit unter Windows 11 [10 Möglichkeiten erklärt] Benutzer eines einzelnen Monitors können die folgenden Methoden verwenden, um die Helligkeit unter Windows 11 anzupassen. Hierzu zählen sowohl Desktop-Systeme mit einem einzelnen Monitor als auch Laptops. Lasst uns beginnen. Methode 1: Verwenden Sie das Action Center. Das Action Center ist zugänglich

Wie deaktiviere ich die Authentifizierung beim privaten Surfen auf dem iPhone in Safari? Wie deaktiviere ich die Authentifizierung beim privaten Surfen auf dem iPhone in Safari? Nov 29, 2023 pm 11:21 PM

Mit iOS 17 hat Apple mehrere neue Datenschutz- und Sicherheitsfunktionen in sein mobiles Betriebssystem eingeführt, darunter die Möglichkeit, eine zweistufige Authentifizierung für private Browser-Tabs in Safari zu verlangen. Hier erfahren Sie, wie es funktioniert und wie Sie es ausschalten. Auf einem iPhone oder iPad mit iOS 17 oder iPadOS 17 erfordert der Browser von Apple jetzt eine Face ID/Touch ID-Authentifizierung oder einen Passcode, wenn Sie in Safari eine Registerkarte „Privates Surfen“ geöffnet haben und dann die Sitzung oder App verlassen, um erneut darauf zuzugreifen. Mit anderen Worten: Wenn jemand Ihr iPhone oder iPad in die Hände bekommt, während es entsperrt ist, kann er Ihre Privatsphäre trotzdem nicht einsehen, ohne Ihren Passcode zu kennen

So führen Sie das Thinkphp-Projekt aus So führen Sie das Thinkphp-Projekt aus Apr 09, 2024 pm 05:33 PM

Um das ThinkPHP-Projekt auszuführen, müssen Sie: Composer installieren, das Projektverzeichnis aufrufen und http://localhost:8000 aufrufen.

Das digitale Aktivierungsskript für Win10/11 MAS Version 2.2 unterstützt erneut die digitale Aktivierung Das digitale Aktivierungsskript für Win10/11 MAS Version 2.2 unterstützt erneut die digitale Aktivierung Oct 16, 2023 am 08:13 AM

Das berühmte Aktivierungsskript MAS2.2 unterstützt wieder die digitale Aktivierung. Die Methode stammt von @asdcorp und der MAS-Autor nennt sie HWID2. Laden Sie „gatherosstate.exe“ (kein Original, geändert) von https://github.com/massgravel/Microsoft-Activation-Scripts herunter, führen Sie es mit Parametern aus und generieren Sie GenuineTicket.xml. Schauen Sie sich zunächst die ursprüngliche Methode an: Gatherosstate.exePfn=xxxxxxx;DownlevelGenuineState=1 und vergleichen Sie sie dann mit der neuesten Methode: Gatheros

Es gibt mehrere Versionen von thinkphp Es gibt mehrere Versionen von thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP verfügt über mehrere Versionen, die für verschiedene PHP-Versionen entwickelt wurden. Zu den Hauptversionen gehören 3.2, 5.0, 5.1 und 6.0, während Nebenversionen dazu dienen, Fehler zu beheben und neue Funktionen bereitzustellen. Die neueste stabile Version ist ThinkPHP 6.0.16. Berücksichtigen Sie bei der Auswahl einer Version die PHP-Version, die Funktionsanforderungen und den Community-Support. Für optimale Leistung und Support wird empfohlen, die neueste stabile Version zu verwenden.

So führen Sie thinkphp aus So führen Sie thinkphp aus Apr 09, 2024 pm 05:39 PM

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

Was ist besser, Laravel oder Thinkphp? Was ist besser, Laravel oder Thinkphp? Apr 09, 2024 pm 03:18 PM

Leistungsvergleich von Laravel- und ThinkPHP-Frameworks: ThinkPHP schneidet im Allgemeinen besser ab als Laravel und konzentriert sich auf Optimierung und Caching. Laravel schneidet gut ab, aber für komplexe Anwendungen ist ThinkPHP möglicherweise besser geeignet.

DJI Osmo Action 5 Pro: Veröffentlichungsdatum diskutiert, da Einzelhändler Einführungspreise bekannt gibt, die unter denen der GoPro Hero 13 Black liegen könnten DJI Osmo Action 5 Pro: Veröffentlichungsdatum diskutiert, da Einzelhändler Einführungspreise bekannt gibt, die unter denen der GoPro Hero 13 Black liegen könnten Sep 04, 2024 am 06:51 AM

DJI hat noch keine Pläne zur Einführung einer neuen Action-Kamera bestätigt. Stattdessen scheint es, dass GoPro in diesem Jahr seinem Rivalen einen Schritt voraus sein wird, nachdem angekündigt wurde, dass es am 4. September zwei neue Action-Kameras vorstellen wird. Zum Vergleich: Diese werden voraussichtlich a

See all articles