我在5.3中使用命名空间并尝试使用Symfony2框架在PHPUnit中测试预期的异常.
我期待抛出一个异常,当我使用它时
$this->setExpectedException('ImageResizerException');
我收到以下错误:
Sebastian Bergmann的PHPUnit 3.7.13.
配置从/var/www/branches/3.6.0/api/app/phpunit.xml.dist中读取
.E .................
时间:1秒,记忆:18.25Mb
有1个错误:
1)AssetManagerBundle\Tests\Services\ImageResizerTest :: testOriginalFile ReflectionException:类ImageResizerException不存在
FAILURES!测试:19,断言:54,错误:1.
我有以下结构:
我的考试班:
<?php
namespace AssetManagerBundle\Tests\Services;
use AssetManagerBundle\Services\ImageResizer;
use AssetManagerBundle\Services\Exceptions\ImageResizerException;
class ImageResizerTest extends \PHPUnit_Framework_TestCase
{
public function testOriginalFile()
{
$ir = new ImageResizer();
// test default value
$this->assertEquals('', $ir->getOriginalFile());
// test invalid filename
$this->setExpectedException('ImageResizerException');
$ir->setOriginalFile('/tmp/test.file');
$this->assertEquals('/tmp/test.file', $ir->getOriginalFile());
// test valid filename
$temp_name = tempnam(sys_get_temp_dir(), 'test_'.time());
$handle = fopen($temp_name, 'w+');
fwrite($handle, ' ');
fclose($handle);
$ir->setOriginalFile($temp_name);
$this->assertEquals($temp_name, $ir->getOriginalFile());
} …
Run Code Online (Sandbox Code Playgroud) 我以为我知道如何声明javascript数组但是在这个脚本中我得到undefined
了数组中无限循环的元素.
我声明了三个数字数组,其中两个有多个值,另一个有一个值.
我有一个switch语句,它将三个数组之一分配给一个新的变量名 cluster_array
当我运行for
循环时cluster_array
,我得到一个无限循环和每个元素ifundefined
我错过了什么?
<script type="text/javascript">
var ga_west_cluster = new Array(10,11,12,14,74,75,76,77,78,79,80,81,82,83,85,86,87,88,89,90,91,92,295,296);
// original bad array
var ga_east_cluster = new Array(84);
// added an extra (dummy) value and it works fine
var ga_east_cluster = new Array(1,84);
var sc_cluster = new Array(93,94,95,96,97,98,99,100,101,102,103);
</script>
Run Code Online (Sandbox Code Playgroud)
这是alert
文字:
var test_message = "cluster data\n";
for(var k=0;k<cluster_array.length;k++)
test_message += "value: "+cluster_array[k]+"\n";
Run Code Online (Sandbox Code Playgroud)
我正在为一个类编写单元测试,需要生成一些具有不同mime类型的文件.
我知道如何在向远程用户(ala header()
)发送文件时设置mime类型,但fwrite()
在本地服务器上使用时该怎么做?
对于在此方法中生成的文件是直接从文件扩展名派生的mime类型?
我在Ubuntu 12.04上使用PHP 5.3.x.
我正在寻找一种在运行Apache2.2和PHP5的服务器上拥有多级子域的方法.理想情况下,解决方案将在Apache而不是PHP.
例如:
www.apps.example.com或test.apps.example.com
我之前在商业网站上看过这个,但是还没有看到任何解决方案来实现这一点.我本质上希望允许用户在任何子域之前输入www或只是输入没有www的子域.所以x.example.com和www.x.example.com都解析到同一目录.
我正在运行CentOS 5.4和Ubuntu 8.04,PHP 5.2.10和Apache 2.2
谢谢
我非常有能力使用PHP三元运算符.然而,我试图弄清楚为什么下面的代码与if-else等效结构不匹配时遇到了障碍.测试在不同的数字上运行三次.每个结构的输出都在代码下面.
三元:
$decimal_places = ($max <= 1) ? 2 : ($max > 3) ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)
三元输出:
最大值:-100000十进制:0
最大值:0.48十进制:0
最大值:0.15十进制:0
如果别的
if($max <= 1)
$decimal_places = 2;
elseif($max > 3)
$decimal_places = 0;
else
$decimal_places = 1;
Run Code Online (Sandbox Code Playgroud)
If-Else输出:
最大值:-100000十进制:2
最大值:0.48十进制:2
最大值:0.15十进制:2
任何人都可以告诉我为什么这两个控制结构不输出相同的数据?
我正在尝试搜索文件列表,并仅对名称包含数组中的几个值的文件执行工作.我希望每次有新文件名时都不必遍历数组.
翼-
$needle = array('blah', 'bleh');
foreach($file_list as $file)
{
foreach($needle as $need)
if(strstr($file, $need) !== false)
{
// do something...
}
}
Run Code Online (Sandbox Code Playgroud)
我只需要知道数组中的一个字符串是否在文件名中,而不是字符串的位置.
我想使用类似的东西,strstr()
但它不允许使用数组作为针.
即 -
if(strstr($haystack, array('blah', 'bleh')))
{
// do something...
}
Run Code Online (Sandbox Code Playgroud)
我宁愿远离正规表达,似乎是锤子工作的雪橇.有任何想法吗?
我对jQuery实现它的AJAX方法很新鲜.
我有一个简单的设置,访问两个不同的页面,一个需要10秒钟完成(我有一个计时器设置)和一个检查第一页的状态.
这两个函数progressCheck()
每秒都以最新状态请求其页面,beginLogin()
并且需要10秒才能加载.我在服务器上的用户对象中设置了一个值,两个页面都通过symfony 1.4访问.
问题是,在progressCheck()
我点击之前正常工作beginLogin()
,然后在完成之前不会进行任何更改beginLogin()
.我有两个函数设置为异步运行.我知道这一定很简单,但是我很茫然.
我在运行此页面时运行了Firebug-Net,结果是:
许多的progressCheck()
等待期间为10秒的电话叫,但净说,他们跑了进来〜200毫秒,没有任何等待时间.
有任何想法吗?
代码如下:
<button onclick="beginLogin();">Begin Login</button>
<button onclick="progressCheck();">Check Progress</button>
<button onclick="clearCheck();">Clear Check</button>
<br/>
<div id="result_div">
</div>
<div id="progress_div">
</div>
<style type="text/css">
#progress_div
{
width: 800px;
height: 200px;
border: 1px solid #CCCCCC;
overflow: scroll;
background-color: #AAEEFF;
}
#result_div
{
width: 800px;
height: 300px;
border: 1px solid #CCCCCC;
overflow: scroll;
background-color: #FFEEAA;
}
</style>
<script type="text/javascript">
function beginLogin()
{
try
{
var login_url = …
Run Code Online (Sandbox Code Playgroud) 我有一个 Symfony 操作,当查询返回 NULL 时,我试图返回 404 错误。
我总是会返回常规页面的模板和 200 HTTP 返回代码。
我已经检查过,我的错误日志显示 createNotFoundException 正在触发。
我正在运行 Symfony 2.7.1
知道为什么此代码不返回 404 页面吗?
<?php
namespace Example\GroupBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Component\HttpFoundation\Request;
use Example\GroupBundle\Entity\Group;
/**
* Class SupportGroupLandingController
* @package Example\GroupBundle\Controller
*
* @Route("/group")
*/
class SupportGroupController extends Controller
{
/**
* @Route("/{name}", name="support_group_page")
* @Method("GET")
* @Template("ExampleGroupBundle::group_page.html.twig")
*
* @param $name
* @return array
*/
public function indexAction($name)
{
$repo = $this->getDoctrine()->getRepository('ExampleGroupBundle:Group');
$group = $repo->findOneBy(array('name' => $name));
if …
Run Code Online (Sandbox Code Playgroud) 我在PHP中遇到了一个三元运算的新语法.
$this->view->totalNumber > $itemsPerPage ? $this->view->renderPaginator = true
: $this->view->renderPaginator = false;
Run Code Online (Sandbox Code Playgroud)
如果结果值大于左侧变量的现有值,这是否只是应用三元运算的某种简写?
php ×7
symfony ×2
apache2 ×1
arrays ×1
asynchronous ×1
fwrite ×1
javascript ×1
jquery ×1
linux ×1
mime-types ×1
namespaces ×1
phpunit ×1
regex ×1
syntax ×1
undefined ×1
unit-testing ×1