thinkphp5 HttpResponseException类问题

namespace think\exception;

use think\Response;

class HttpResponseException extends \RuntimeException
{
/**
* @var Response
*/
protected $response;

public function __construct(Response $response)
{     
       //位置1
    $this->response = $response;
}

public function getResponse()
{
    //位置2
    return $this->response;
}

}

我在__construct函数中是有数据的,但在getResponse函数中 $this->response数据就没有了
这个是什么原因

php
0

2个回答

不太懂你这个php的东西,但是大致的问题我给你说下:你这个赋值过程只是把response的引用赋值给this->response,并没有申请一个新的空间存储,用的还是原来的同一块空间,传进来的response如果用完后销毁的话,你这个得到的response就是空了。你想想办法把这块空间申请一下应该就行了。

0

把_construct改为_initialize或者initialize

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
深入ThinkPHP5的源码研究,tp5是如何从网站开始运行起来的?
1.解析器配置,指定路径 首先我们在nginx 或者 apache的配置文件中指定了该项目的路径是到public。 eg:nginx: server {     listen 80;     #listen [::]:80 default_server ipv6only=on;     server_name www.t5.cn;     index index.html index.ht...
ThinkPHP5源码学习篇--请求缓存
数据结构很有意思 最近看《PHP核心技术与最佳实践》一书时,有提到PHP的数组实现是依赖于哈希表,包含哈希碰撞、哈希函数、拉链表等等,觉得很有意思,于是重拾大学时期简单学过的数据结构,结果在看Mysql资料时,也涉及到数据结构方面知识,感觉打开了一扇新大门。 请求缓存学习 今天慢慢看到了TP5的请求缓存内容,特此来总结一下。 在App::run()方法内,存在如下代码 $request->c...
thinkphp5框架中为啥要使用traits
原文https://www.jianshu.com/p/e9feb128bfb3 require PHP >= 5.4.0 介绍 Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 ...
Thinkphp 解决api开发中异常返回依然是html的问题
现在谁不开发接口的呢?但是在接口开发过程中,报错误异常后居然返回错误的信息依然是html信息!TP官方也不知道为啥不添加,说好的为接口而生,我的解决方案也很简单,把系统的异常处理类复制出来,去掉模板相关,直接以json方式输出;下面是解决方案: 1:按照TP扩展异常的方式引用这个文件 https://www.kancloud.cn/manual/thinkphp5_1/354092 //
ThinkPHP5验证码刷新出现路径找不到的问题及解决办法
在写点击刷新验证码方法的时候出现如下图所示的情况代码如下点击刷新图片就不见了,控制台出现报错404、在网上找了好久没找到解决办法,后来在PHP中文网视频教程的讨论区解决办法,将代码修改为如下图所示:或者换成:还有人说改PHP配置信息php.ini,这个我也是新手,没弄过这个,所以就没有尝试...由于找了好久才找到的解决办法,所以用个人博客记一下!...
thinkphp5 文件处理类 延伸扩展
thinkphp5的手册中提出: File类继承了PHP的SplFileObject类 手册中在文件上传的地方只是提到了框架自身的一些函数,但是在文件上传后文件内容的处理没有提及,因为那是SplFileObject中的内容了,这里我简单总结了一下,在$file = $request->file('file');之后,对$file可以调用的一些函数,这些函数可以很方便的帮助我们做一些文件处理
解决在ThinkPHP控制器中命名空间的问题
前几天在TP中,使用PHP自带类,因为命名空间,遇到一个小问题。因为ThinkPHP中使用了命名空间,如果在Home命名空间下,直接执行如下代码 $datetime= new DateTime($basedate, new DateTimeZone($timezone)); 那么其等同如 $datetime= new \Home\DateTime($basedate, new
Thinkphp命名空间的调用
今天碰到一个关于命名空间的错误,在这里总结一下 (1)命名空间是什么? NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了。为了解决这个问题,引入了名字空间这个概念,通过使用 namespace xxx
thinkphp5.1引入类库引入不上
首先说一下tp进化路线 首先我就拿https://hprose.com/这个api组件来说吧 例如本地调用HproseHttpClient tp3.1使用内置import()也可使用原生的导入 tp3.2使用的内置import()或者vender()也可使用原生的导入 tp5.0:Loader::import('Hprose.HproseHttpClient'); tp5.1:由于内部导...
Thinkphp5验证类的使用
<?phpnamespace app\validate;/*** 用户验证类User.php*/use think\Validate;class User extends Validate{ protected $rule = ['name' => ['require' => 'require','min' => 5,'max' => 20,],'email' =&g...
ThinkPHP5之重定向和空控制器操作
第12节
thinkphp5--自定义扩展类
1.在extend目录下新建要定义的扩展类:如下图所示 2.定义扩展类的内容 <?php namespace org; /** * */ class Auth { public function __construct() { # code... } publi
thinkPHP5 验证码问题
今天遇到验证码 下载一直出问题,提示、然后 找了一个以前下载的,一直显示route找不到,emmmmm找了好多解决方法都没用然后想到查一下PHP版本,用的PHPstudy集成环境 是7.0版本   但是一查php -v  是5.4版本问题,是以前安装的PHP版本,没有更新,所以去修改了为7.0 下载还是报错,于是,看到了这句话:再然后,下载时写了版本号:composer require topth...
GetResponse()获取错误时处理方式 500错误
<br />我们编码实现请求一个页面时,请求的代码类似如下代码:<br />HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl); req.UserAgent = "MSIE6.0"; req.Method = "GET"; HttpWebResponse res = (HttpWebResponse)req.GetResponse(); StreamReader sr = new StreamReader(res.GetRes
thinkphp5 10分钟快速理解数据库类和模型
学习PDO之前对thinkphp数据库相关知识的了解和学习PDO之后的了解完全是不同的。
thinkphp5 学习的一些注意事项
使用前查看框架的开发规范,做到命名规则的统一 控制器命名的的注意事项1.建议在配置文件中将控制器的后缀名置为true,因为控制器的类名可能会和模型的类名相同,比如User,Customer,Order之类的。2.控制器尽量使用一个单词,如果使用两个及以上,首字母大写,其他全小写class UserinfoContro
ThinkPHP5的验证码操作
1、首先确认文件夹\vendor\topthink\think-captcha存在 2、显示验证码的方法,我这里是写在:\application\admin\controller\Login.php //显示验证码 public function show_captcha(){ $captcha = new \think\captcha\Captcha();
thinkPHP5——验证类之把所有验证方法放到一个类中
主要文件: 1.VUser.php的主要代码: namespace app\index\validate; use think\Validate; class VUser extends Validate{ //验证用户信息修改 public static function vupdate(){ $rule = [ 'id'=&amp;gt...
thinkphp5 上传模块
ThinkPHP 6.使用上传模块(ajaxFileUpload)2015年10月07日 11:57:10阅读数:1855下载Uploadfile类文件http://www.thinkphp.cn/extend/224.html 放到: ThinkPHP/Extend/Library/ORG/Net 。修改文件头部,加上namespace:&amp;lt;?php namespace Org\Net; 1...
ThinkPHP5快速入门
ThinkPHP5快速入门ThinkPHP5快速入门ThinkPHP5快速入门ThinkPHP5快速入门ThinkPHP5快速入门ThinkPHP5快速入门ThinkPHP5快速入门ThinkPHP5快速入门
ThinkPHP--url地址大小写问题
1.在对用项目里config.php里边对url大小写敏感进行设置,值设置为false后大小写都可以,如下所示:
Thinkphp5 引入第三方类库
extend                扩展类库目录vendor                第三方类库目录(Composer依赖库)// 引入 extend/qrcode.php Loader::import('qrcode', EXTEND_PATH); // 助手函数 import('qrcode', EXTEND_PATH); // 引入 extend/wechat-sdk/wech...
thinkphp5:直接new实例化模型,找不到属性
$joined_student = new JoinedStudent(); $joined_student = $joined_student-&amp;gt;where('openid', $openid)-&amp;gt;find(); $reward_info = null; if ($joined_student != null) $reward_info = $joined_student-...
Thinkphp5中异常处理不返回页面返回Json格式的字符串
TP5把异常处理返回页面改成json格式1、进入config.php,找到异常页面的模板文件,把路经改成自己一会要写的文件的路径,我写的是myException.tpl注意后缀名是.tpl。默认是这样的更改以后2、可以看看think\exception\Handle.php的convertExceptionToResponse方法,大概了解一下他的模板文件的字是怎么来的。。3、进入到thinkph...
使用xdebug分析thinkphp框架函数调用图
开发中需要性能调优,使用xdebug分析thinkphp框架函数调用图。 关于xdebug的安装参考这2篇NetBeans配置Xdebug 远程调试PHPphp扩展xdebug安装以及用kcachegrind系统分析 1.安装xdebug需要先去http://www.xdebug.org看看一些文档,xdebug作为php扩展安装# http://www.xdebug.org/files/xdeb
Thinkphp5配置文件及配置类记录
Thinkphp5.0.1 配置文件:惯例配置(convention.php)、应用配置(config.php)、扩展配置。 config.php、database.php、route.php 所有的配置项所有的配置项最终均返回数组,无论是php、ini、xml、json格式的配置文件,最终dou。 配置类:/think/congfig.php 方法   parse() 解析配
PHP ThinkPHP 同名类元素引入,设置别名
<?php //引入机制-空间类元素引入 //引入类元素名称 与 当前空间类元素同名。 //【别名设置】 namespace liaoning\shenyang\tiexi; class Animal{ var $name = "duck"; } namespace shandong\qingdao\laoshan; class Person{ var $name = "C
thinkphp5使用load和use引入第三方类
一、使用Load1、在extend文件夹下面放extend/mail/phpmailer.php文件;2、在applicatioon/index.php文件中写入define('EXTEND_PATH', '../extend/');3、在index控制器中引用use think\Loader; Loader::import('mail\PHPMailer', EXTEND_PATH); $mail
Thinkphp5学习(35)图像处理
学习内容: https://www.kancloud.cn/tpshop/thinkphp5/233345 完全开发手册: https://www.kancloud.cn/manual/thinkphp5/177530 教程中的代码:https://github.com/phpervip/tp5a
自定义 thinkphp5.0全局异常报错,继承基类\exception解决
  情景介绍:url请求是get方式,此次报错是测试post请求,异常返回错误信息是否正确,结果异常返回信息有误,返回信息不正确。 以下下报错信息,显示  自定义全局异常报错信息是传入HttpException参数给app\lib\exception\ExceptionHandle::render() 方法(本应传入think\Exception类型的参数),结果异常信息不能自动转换成正确的信...
thinkphp5使用load和use引入第三方类(转载)
一、使用Load1、在extend文件夹下面放extend/mail/phpmailer.php文件;2、在applicatioon/index.php文件中写入define('EXTEND_PATH', '../extend/');13、在index控制器中引用use think\Loader; Loader::import('mail\PHPMailer', EXTEND_PATH); $ma...
[thinkphp5 学习笔记] model类型
protected $name = 'users'; protected $table= 'users'; protected $pk = 'uid'; model设置数据库名的时候,如果有数据库前缀,那就用$name,如果用全名的数据库名,那就用$table.   数据库主键用$pk //这个文档会持续更新
thinkphp5中引入第三方类库
// 引入 extend/qrcode.php Loader::import('qrcode', EXTEND_PATH); // 助手函数 import('qrcode', EXTEND_PATH); // 引入 extend/wechat-sdk/wechat.class.php Loader::import('wechat-sdk.wechat', EXTEND_PATH,'.c
Thinkphp5整合excel导入导出
Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出
thinkphp5实现文件上传
文件上传原理:通过form表单的enctype = &quot;multipart / form-data&quot;属性将文件临时放在htdocs文件夹的tmp目录下,再通过后台的程序将文件保存在自己设定的新的文件夹中。前端页面前端代码&amp;lt;!--上传文件--&amp;gt; &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;en&quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta ch
ThinkPHP中添加公共类
添加公共类 有时,需要在thinkphp中的一些类之中进行一些公共的操作,如检查用户是否登录、session是否过期等,这些可以通过在thinkphp中添加公共类来实现。 举一个后台添加用户验证的例子来说。 前提:后台的每一个页面都要检测该是否是允许登录的用户,检测函数为checkAdmin()。 1.在应用的Common目录下建一个Controller目录,在Controller目录里添
thinkphp5 extend目录扩展类的使用
类所在路径:\extend\mikkle\tp_wxpay\WxPayConf_pub.php在其他类里面使用:use \mikkle\tp_wxpay\WxPayConf_pub as WxPayConf;as重新指定类名,便于实例化;在方法中使用:$wxpayconf= new WxPayConf();$wxpayconf-&amp;gt;function(); ...
ThinkPHP5 使用 PHPExcel 导出表格封装类
ThinkPHP5 使用 PHPExcel 导出表格封装类 这里关于如何安装PHPExcel和放在项目哪里我们不做多的赘述,详情可参考网络其他资料文献。那么,下面直接上代码吧!只是能实现了,但肯定不是最优的方法。多指教! 示例模拟数据 $mulit_arr = [ [ ['标题1','标题2','标题3'], ['a',...
Thinkphp5中的Db操作
/** * Class Db * @package think * @method Query table(string $table) static 指定数据表(含前缀) * @method Query name(string $name) static 指定数据表(不含前缀) * @method Query where(mixed $field, string $op = null,...
那些年,我用Thinkphp5集成mongoDB遇到的坑
据说Thinkphp5可以很方便的集成MongoDB,于是试了一下,结果全是坑啊,于是我就这样一步一步的踩过来了
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 大数据专业教育的问题