草庐IT

Mic-Input

全部标签

php - 我如何覆盖 php ://input when doing unit tests

我正在尝试使用Zend和PHPUnit为Controller编写单元测试在代码中我从php://input获取数据$req=newZend_Controller_Request_Http();$data=$req->getRawBody();当我测试实际应用程序时,我的代码工作正常,但除非我可以提供数据作为原始httppost,否则$data将始终为空。getRawBody()方法基本上调用file_get_contents('php://input'),但我如何覆盖它以便为我的应用程序提供测试数据。 最佳答案 我遇到了同样的问题,

php - 为什么使用 filter_input() 更好?

这应该是一个基本问题,但为什么使用这样的东西更好:$pwd=filter_input(INPUT_POST,'pwd');不仅仅是:$pwd=$_POST['pwd'];PS:我知道过滤器扩展可以与更多参数一起使用,以提供额外的清理级别。 最佳答案 不是。$_GET、$_POST、$_COOKIE和$_REQUEST是filteredwithdefaultfilter.filter_input(INPUT_POST,'pwd')没有附加参数也使用默认过滤器。所以根本没有区别。 关于php

php - 如何模拟php ://input in PHP?

我正在为我的PHP项目编写单元测试,单元测试是模拟一个php://input数据,我读了手册,上面写着:php://inputisaread-onlystreamthatallowsyoutoreadrawdatafromtherequestbody.如何模拟php://input,或者在我的PHP中编写请求体?这是我的源代码和单元测试,都是简化的。来源:classKoru{staticfunctionbuild(){//Thisfunctionwillbuildanarrayfromthephp://input.parse_str(file_get_contents('php://i

php - fatal error : Class 'Symfony\Component\Console\Input\ArgvInput' not found in app/console on line 16

我有一个工作的symfony应用程序,今天我决定做一个composer更新composer更新的结果可以在这里找到https://github.com/allan-simon/oauth2-symfony2-vagrant-fosuserbundle/commit/dfa25593f79c5595ca4759803ec1e998091c68b9(主要是小版本的变化,注意symfony的版本有变化,但保持在2.6也会产生以下问题)现在升级后我收到了这个错误ScriptSensio\Bundle\DistributionBundle\Composer\ScriptHandler::clea

php - "Could not open input file: bin/console"尝试运行 Symfony 应用程序时出现错误

$cdmy_project_name/$phpbin/consoleserver:run当我添加以下命令并尝试运行我的symfony应用程序时出现此错误,"Error:Couldnotopeninputfile:bin/console" 最佳答案 正如@chapay和@cered所说,我们可以改用此命令。phpapp/consoleserver:run它是Symfony2命令,而我遇到的问题是Symfony3命令。我发现其他几次也出现了这个问题。有时我们可以用“app”替换“bin”。喜欢,phpbin/consoledoctrin

PHP CLI : How to read a single character of input from the TTY (without waiting for the enter key)?

我想从PHP的命令行一次读取一个字符,但似乎有某种输入缓冲从某处阻止了这一点。考虑这段代码:#!/usr/bin/php输入“foo”作为输入(然后按回车键),我得到的输出是:input#fooReadfromSTDIN:finput#ReadfromSTDIN:oinput#ReadfromSTDIN:oinput#ReadfromSTDIN:input#我期待的输出是:input#finput#ReadfromSTDIN:finput#oinput#ReadfromSTDIN:oinput#oinput#ReadfromSTDIN:oinput#input#ReadfromSTDI

php - Laravel Blade "old input or default variable"?

我想在输入值中显示旧输入。如果没有旧输入,则显示其他变量:value="{{old('salary_'.$employee->id)or'Default'}}"但是当没有旧输入时,它会给我1而不是默认值!我认为问题与串联有关,但我不知道如何解决!? 最佳答案 or是PHP中的比较运算符,因此您的代码计算结果为true,或1。您想要的是三元if声明。如前所述,or可以在Blade中用作三元if语句的简写。但是您可以(并且应该)将默认值作为第二个参数传递给函数,如下所示:value="{{old('salary_'.$employee-

php - Laravel 请求 input() 或 get()

在Laravel5中,似乎Request对象的方法注入(inject)比使用Requestfacade更受欢迎。input('email');//OR$email=$request->get('email');}}我有几个问题:使用Illuminate\Http\Request比使用Illuminate\Support\Facades\Request更好我不知道$request->get()是如何解析的,因为Illuminate\Http\Request中没有函数名称get()。input()和get()做同样的事情。方法注入(inject)是否比使用Facades更好?

php - POST 变量数组和 filter_input

在使用filter_input时,我无法拉入POST数组变量。POST输入:type=>'container',action=>'edit',data[display]=>1,data[query_limit]=>100我可以从$_POST超全局变量中正确地以数组的形式访问data变量,但是filter_input函数不返回任何内容:$data=$_POST['data'];//Working,woot$data=filter_input(INPUT_POST,'data');//returnsnull,shouldreturnarray$action=filter_input(INP

PHP 缺少一些 $_POST 值,但存在于 php ://input 中

我有一个非常大的html表单(包含行表,其中包含多个输入),我需要通过POST请求将其提交给PHP脚本。问题是PHP的$_POST超全局变量中没有出现某些值。我检查了(使用Firebug扩展)这些值实际上是由浏览器发送到服务器的。$_POST被填充,但缺少一些值。我使用以下方法检查了原始请求:$raw_post=file_get_contents('php://input');并且返回的字符串具有值。它们只是没有被解析为$_POST数组。我注意到的奇怪的事情是,似乎php://input值在一定长度后被剪切,并且字符串的其余部分没有通过$_POST。我考虑了post_max_size和