资讯专栏INFORMATION COLUMN

thikphp 控制器

高璐 / 1064人阅读

摘要:控制器定义类名和文件名一样,渲染输出渲染输出使用输出此时页面渲染出文件不能在控制器中中断代码。。

控制器定义

类名和文件名一样,

渲染输出

渲染输出使用return输出

 "ming",
            "ming" => "xiao"
        );
        return json($data);
    }

}

此时页面渲染出json文件

不能在控制器中中断代码。。
使用halt输出

 "ming",
            "ming" => "xiao"
        );
        halt("输出测试");
        return json($data);
    }

}

使用halt 输出

多级控制器

多级控制器 多级控制器直接在命名空间中使用

 5, "name" => "ming"]));
        return $id;
    }
}

定义了Index命名空间下的子控制器 Blog
目录结构

定义路由规则


访问index路由下的blog目录

基础控制器

控制器都会有一个基础控制器
系统会提供一个

appBaseController

基础控制器

目录文件如下

所有的控制都有一个基础控制类
appBaseController

由于是多应用模式。。基础类移动到目录下

更改命名空间

namespace appindexcontroller;

use thinkApp;
use thinkexceptionValidateException;
use thinkValidate;
request->action();
        $path = $this->app->getBasePath();
        var_dump($action);
        var_dump($path);
    }

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

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

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

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

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

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

输出内容

string(5) "index" string(43) "/home/ming/PhpstormProjects/untitled12/app/"
控制器验证
validate( [
                "name"  => "thinkphp",
                "email" => "thinkphp@qq.com",
            ],  "appindexvalidateUser");
        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
            dump($e->getError());
        }
    }

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

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

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

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

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

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

这样控制器验证

空控制器

空控制器是当找不到的方法的时候调用的方法

    public function __call($name, $arguments)
    {
        // TODO: Implement __call() method.
        return "error request";
    }
资源控制器

创建restful控制器
输入

php think make:controller index@Blog

生成资源控制器
生成api


注册资源路由即可

Route::resource("blog", "Blog");
控制器中间件

编写控制器

hello = "ming";
        return $next($request);
    }
}

使用路由注册控制器

middleware(
    [
        appindexmiddlewareHello::class
    ]
);

访问 http://localhost:8082/index/ming
出现 ming

说明中间件注册成功

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31605.html

相关文章

  • thinkphp ajaxfileupload 异步上传图片

    摘要:开发图片上传,图片异步上传是目前比较方便的功能这里我就不写文件了,将代码写出来。 thinkphp开发图片上传,图片异步上传是目前比较方便的功能,这里我就不写css文件了,将代码写出来。引入核心文件下载https://github.com/carlcarl/A...HTML下面首先在html页面引入相关js资源 图片上传 接下来在body中创建相关div 封...

    learn_shifeng 评论0 收藏0
  • thinkphp ajaxfileupload 异步上传图片

    摘要:开发图片上传,图片异步上传是目前比较方便的功能这里我就不写文件了,将代码写出来。 thinkphp开发图片上传,图片异步上传是目前比较方便的功能,这里我就不写css文件了,将代码写出来。引入核心文件下载https://github.com/carlcarl/A...HTML下面首先在html页面引入相关js资源 图片上传 接下来在body中创建相关div 封...

    SKYZACK 评论0 收藏0

发表评论

0条评论

高璐

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<