Heim  >  Artikel  >  PHP-Framework  >  Ein Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt

Ein Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt

藏色散人
藏色散人nach vorne
2021-08-23 15:29:564046Durchsuche

Das Folgende ist eine Einführung in die Definition und Verwendung von Thinkphp-Controllern aus der ThinkphpFramework-Tutorial-Kolumne. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!

Controller-Definition

Der Klassenname ist derselbe wie der Dateiname,

Rendering-Ausgabe

Rendering-Ausgabe verwendet Rückgabeausgabe

<?php namespace app\admin\controller;
use app\admin\model\User;

class Index
{

    public function Index(){
        $data = array(
            &#39;ming&#39; => 'ming',
            'ming' => 'xiao'
        );
        return json($data);
    }

}

Zu diesem Zeitpunkt rendert die Seite eine JSON-Datei
Ein Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt

kann nicht im Controller-Interrupt-Code enthalten sein. .
Halt-Ausgabe verwenden

<?php namespace app\admin\controller;
use app\admin\model\User;

class Index
{

    public function Index(){
        $data = array(
            &#39;ming&#39; => 'ming',
            'ming' => 'xiao'
        );
        halt("输出测试");
        return json($data);
    }

}

Halt-Ausgabe verwenden

Ein Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt

Mehrstufiger Controller

Mehrstufiger Controller Mehrstufiger Controller wird direkt im Namespace verwendet

<?php namespace app\admin\controller\Index;


class Blog
{
    public function index(){

    }

    public function read($id){
        var_dump(url(&#39;index/blog/read&#39;, [&#39;id&#39; => 5, 'name' => 'ming']));
        return $id;
    }
}

Definiert den Sub-Controller-Blog unter dem Index-Namespace
Verzeichnis Struktur
Ein Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt

Routing-Regeln definieren

<?php use think\facade\Route;

Route::rule(&#39;blog/:id&#39;, &#39;index.blog/read&#39;);
Route::rule(&#39;/&#39;, &#39;Index/index&#39;);

Greifen Sie auf das Blog-Verzeichnis unter der Indexroute zu

Basis-Controller

Der Controller verfügt über einen Basis-Controller
Das System stellt einen

app\BaseController

Basis-Controller

Die Verzeichnisdatei ist wie folgt folgt
Ein Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt

Alle Steuerelemente haben eine grundlegende Steuerklasse
appBaseController

Aufgrund des Multianwendungsmodus. . Die Basisklasse wird in das Verzeichnis verschoben.
Ein Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt

Ändern Sie den Namespace gefunden werden. Die Methode namens

namespace app\index\controller;

use think\App;
use think\exception\ValidateException;
use think\Validate;

Ressourcen-Controller

Ruhigen Controller erstellen

Eingabe

<?php namespace app\index\controller;

use think\Request;

class Index extends BaseController
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $action = $this->request->action();
        $path = $this->app->getBasePath();
        var_dump($action);
        var_dump($path);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}
Ressourcen-Controller generieren

API generieren

string(5) "index" string(43) "/home/ming/PhpstormProjects/untitled12/app/"

Ressourcen-Routing registrieren

<?php namespace app\index\controller;

use think\exception\ValidateException;
use think\Request;

class Index extends BaseController
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        try {
            $this->validate( [
                'name'  => 'thinkphp',
                'email' => 'thinkphp@qq.com',
            ],  'app\index\validate\User');
        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
            dump($e->getError());
        }
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}

Controller-Middleware

Controller schreiben

    public function __call($name, $arguments)
    {
        // TODO: Implement __call() method.
        return 'error request';
    }
Verwenden Sie den Routenregistrierungscontroller

php think make:controller index@Blog

um http://localhost:8082/index/ming zu besuchen Wenn ming

erscheint, bedeutet dies, dass die Middleware-Registrierung erfolgreich war.

Empfohlen: „

Die neuesten 10 Thinkphp-Video-Tutorials


Das obige ist der detaillierte Inhalt vonEin Artikel, der die Definition und Verwendung des Thinkphp-Controllers ausführlich erklärt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen