小编Nic*_*ndo的帖子

我的单元测试应该如何干燥?

我正在为我的webapp编写单元测试.我的许多测试用例共享相同的样板.例如,从购物车中移除商品和更新购物车中商品数量的测试都开始于导航到产品页面,搜索产品并将其添加到购物车.

是否应该以某种方式将这些重复的代码从单元测试中分解出来?我应该写一个函数add_item_to_cart吗?但是,我有另一个测试test_add_to_cart,它基本上只包含添加到购物车的重复样板.

由于每个测试需要独立,因此单元测试本质上不是DRY吗?

unit-testing dry

6
推荐指数
1
解决办法
427
查看次数

MySql PDO与数据库的连接

我正在学习PDO,我感到非常困惑,我在下面有这段代码,所有看起来都对我,但是我得到这个错误代码,我不知道我要做什么来解决它,请帮助我:

<?php
$hostname='localhost';
$username='root';
$password='';

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=stickercollections",$username,$password);
    echo 'Connected to Database<br/>';

    $sql = "SELECT * FROM stickercollections";
foreach ($dbh->query($sql) as $row)
    {
    echo $row["collection_brand"] ." - ". $row["collection_year"] ."<br/>";
    }


    $dbh = null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?> 
Run Code Online (Sandbox Code Playgroud)

错误代码 : Invalid argument supplied for foreach() in /Applications/XAMPP/xamppfiles/htdocs/GOTSWAPMAIN/index.php on line 11

php sql pdo

6
推荐指数
1
解决办法
7万
查看次数

strpos不会在负偏移上向后搜索

更新:我正在查看文档,因为strrpos它认为它是文档strpos.抱歉愚蠢的错误.

根据文档,它说当你提供一个负值作为偏移量参数时,该函数将从字符串末尾开始那么多字符,向后搜索.它甚至在例#2中显示了这一点.为什么我不能让这段代码正常工作?

$val = strpos('/imports/products/nin_avatar.png', '/', -2);
Run Code Online (Sandbox Code Playgroud)

我试图得到字符串中最后一个正斜杠的索引,但它一直在返回false..我尝试了几个不同的负偏移,似乎没有工作.难道我做错了什么?

php

6
推荐指数
1
解决办法
3247
查看次数

更好地解释 mb_encode_numericentity() 中的 $convmap

给这个参数的描述中,convmap为方法mb_encode_numericentityPHP手册是含糊我。有人会帮助更好地解释这一点,或者如果它对我来说足够了,也许可以“把它放倒”?这个参数中使用的数组元素是什么意思?联机帮助页中的示例 1 具有

<?php
$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN, then
// it converts value to numeric string reference.
?>
Run Code Online (Sandbox Code Playgroud)

这是有帮助的,但后来我看到了很多使用示例,例如array(0x80, 0xffff, 0, 0xffff);让我失望。这是否意味着偏移量0和掩码将是0xffff,如果是这样,偏移量是否意味着开始转换的字符串中的字符数,mask …

php html-encode collation html-entities

6
推荐指数
1
解决办法
1350
查看次数

使用count()构建sql查询,其中count()> 1

如果我有一个表有重复ID的表,我如何计算相同ID出现在表中的次数,并且只显示计数大于1的记录?

我试过了:

SELECT COUNT(ID) AS myCount FROM myTbl
WHERE myCount > 1 GROUP BY ID
Run Code Online (Sandbox Code Playgroud)

但它说myCount列名无效.有人能告诉我我做错了什么吗?

t-sql sql-server

5
推荐指数
1
解决办法
8119
查看次数

强制Git提示输入用户名和密码

我关闭了一个我在谷歌代码上发布的PHP项目.

问题是当我尝试使用以下命令时:

git push origin master
Run Code Online (Sandbox Code Playgroud)

我收到以下身份验证错误消息:

fatal: remote error: Invalid username/password.
You may need to use your generated googlecode.com password; see https://code.google.com/hosting/settings
Run Code Online (Sandbox Code Playgroud)

如何强制Git提示输入用户名和密码才能解决此问题?

git authentication google-code push

5
推荐指数
1
解决办法
4361
查看次数

在Magento中查找电子邮件模板中的句柄

我正在尝试编辑此电子邮件模板:

/app/locale/en_US/template/email/sales/order_new.html
Run Code Online (Sandbox Code Playgroud)

我正在尝试编辑订单总计部分,但在上面的文件中它有这个代码

{{layout handle="sales_email_order_items" order=$order}}
Run Code Online (Sandbox Code Playgroud)

获取我需要编辑的数据.有谁知道我在哪里可以找到这个sales_email_order_items句柄所以我可以进行编辑?我正在使用Magento CE 1.4.1.1

谢谢〜

magento email-templates

5
推荐指数
1
解决办法
6475
查看次数

连接字符串文字

我已经看过几个这样的帖子,就像这个,但没有人在我的特殊情况下帮助我.

scriptsPath="/var/db/gbi/scripts/"
echo "$scriptsPathawesome.csv";
Run Code Online (Sandbox Code Playgroud)

我希望这会回应 /var/db/gbi/scripts/awesome.csv

相反,我得到了 .csv

好像它认为我正在尝试引用一个名为的变量$scriptsPathawesome.如何将$scriptsPath变量连接到"awesome.csv"字符串文字?

linux bash string-concatenation string-literals

4
推荐指数
1
解决办法
7160
查看次数

带有现有记录的INSERT语句

我想知道是否可以使用已存在的记录执行insert语句.例如:

insert into tbl(item_name, item_price) values(select item_name, item_price from tbl where id = 5)
Run Code Online (Sandbox Code Playgroud)

说id是一个自动递增的pk.

当我尝试类似的东西时,我遇到了错误:

Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'select'.
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near ')'.
Run Code Online (Sandbox Code Playgroud)

我错过了什么,或者这是不可能的?

sql sql-server-2005

3
推荐指数
1
解决办法
2414
查看次数

使用PHP通过fopen/fwrite创建一个CSV文件,但也要为其写入标题

我觉得我在这里显得很遗憾,但无论如何我都会发帖.

我有一个'csv.php'创建一个csv文件,简单的例子:

// csv.php
$fh = fopen('report.csv', 'w') or die("can't open file");
while ($row = mysql_fetch_row($result)) { 
    fputcsv($fh, $row);
}
fclose($fh);
Run Code Online (Sandbox Code Playgroud)

在单独的页面上,有一个链接到上面文件的简单锚元素.所以在home.html上有:

<a href='report.csv'>Report</a>
Run Code Online (Sandbox Code Playgroud)

一个用户将运行csv.php,另一个用户将转到home.html并在稍后的时间点击该链接.这工作正常,创建CSV,数据在那里,锚链接通过.

我知道如果我echo要使用CSV,我会添加各种标题,例如:

header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");
Run Code Online (Sandbox Code Playgroud)

但是如何将这些标题添加到文件中report.csv?我认为这是必需的,因为firefox拒绝将csv视为可下载文件(当单击锚点时,它只是将csv输出到浏览器).

php csv file-io header download

3
推荐指数
1
解决办法
5515
查看次数