小编gre*_*eut的帖子

TDD - 无法模拟的依赖关系

假设我有一节课:

class XMLSerializer {
    public function serialize($object) {
        $document = new DomDocument();
        $root = $document->createElement('object');
        $document->appendChild($root);

        foreach ($object as $key => $value) {
            $root->appendChild($document->createElement($key, $value);
        }

        return $document->saveXML();
    }

    public function unserialze($xml) {
        $document = new DomDocument();
        $document->loadXML($xml);

        $root = $document->getElementsByTagName('root')->item(0);

        $object = new stdclass;
        for ($i = 0; $i < $root->childNodes->length; $i++) {
            $element = $root->childNodes->item($i);
            $tagName = $element->tagName;
            $object->$tagName = $element->nodeValue();
        }

        return $object;
    }

}
Run Code Online (Sandbox Code Playgroud)

我该如何单独测试?在测试这个类时,我也在测试DomDocument类

我可以传入文档对象:

class XMLSerializer {
    private $document;

    public function __construct(\DomDocument $document) { …
Run Code Online (Sandbox Code Playgroud)

php testing tdd phpunit unit-testing

13
推荐指数
1
解决办法
389
查看次数

Swift_Mailer + symfony UTF-8

我在Symfony中遇到Swift_Mailer问题.我正在发送包含大量"àéè"字符的法语电子邮件.起初,当我尝试发送这些字符时,我的电子邮件客户端很好,但在我的同事的电子邮件客户端,他们没有.

所以我通过utf8_encode函数为邮件添加文本并再次尝试.现在它反过来了.它在我的电子邮件客户端显示得很好,但在我的同事中搞砸了.

在Symfony中使用Swift_Mailer解决这些电子邮件UTF-8问题的最佳方法是什么?

php symfony1 character-encoding swiftmailer

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

Laravel 5路由前缀

我希望有一个以国家为前缀的路线.像这样:

/us/shop
/ca/shop
/fr/shop
Run Code Online (Sandbox Code Playgroud)

我的想法是这样做的:

<?php

Route::group([
    'prefix' => '{country}'
], function() {
    Route::get('shop', 'ShopController@Index');
    // ...
});
Run Code Online (Sandbox Code Playgroud)

这有效.我的问题是我想Country为每个子路由自动加载,并能够从控制器和视图中使用它.

任何提示?

php laravel-5

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

如何使用php在json中转换mysql数据库表数据

如何使用PHP将MySQL数据库表转换为JSON数据.有没有办法做到这一点?

下面是我正在使用的php代码:

<?php 
$host = "emriphone.db.6420177.hostedresource.com"; 
$user = "emriphone"; 
$pass = "Light12-"; 
$database = "emriphone"; 

$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host."); 
mysql_select_db($database, $linkID) or die("Could not find database."); 

$sth = mysql_query("SELECT * FROM ProviderAppointmentListings");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
   $rows[] = $r;
}
print json_encode($rows);
?>
Run Code Online (Sandbox Code Playgroud)

php mysql json

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

DOMPDF中自定义的宽度和高度

无论如何我可以设置生成的PDF的宽度和高度吗?我想自定义PDF的宽度和高度.通常情况下,这将是一个短的债券纸的大小,但我怎么能定制它?比方说,我希望它的尺寸​​是200 x 500像素?

任何想法都将非常感谢!干杯!

php dompdf

5
推荐指数
2
解决办法
3万
查看次数

jsTree触发器select_node函数

我有jsTree和一个按钮。jsTree具有select_node函数

.bind("select_node.jstree", function (event, data) {
 // some code
})
Run Code Online (Sandbox Code Playgroud)

单击按钮是否可以触发select_node事件?

javascript jquery jstree

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

"coding:pyxl"如何在Python中运行?

pyxlinterpy正在使用一种非常有趣的技巧以某种方式增强python语法:coding:来自PEP-263

# coding: pyxl
print <html><body>Hello World!</body></html>
Run Code Online (Sandbox Code Playgroud)

要么

# coding: interpy
package = "Interpy"
print "Enjoy #{package}!"
Run Code Online (Sandbox Code Playgroud)

coding:如果我想,我怎么能写自己的?我可以使用多个吗?

python

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

借助 adb shell 中存在的 sh 在 android 设备中运行的脚本文件

我在为仅在设备 (/system/bin/sh) 中存在的 sh 上运行的 android 设备编写 shell 脚本时遇到问题。我写了以下脚本

#!/system/bin/sh

while [ 1 ]; do
   cat /sys/kernel/debug/gpio > /dev/kmsg
   sleep 2
done
Run Code Online (Sandbox Code Playgroud)

如果我通过以下命令运行 shell,它无法找到system/bin/sh root@xyz3g:/data # ./test_script.sh /system/bin/sh: ./test_script.sh:它给出的 No such file or directory

上述错误的可能原因是什么?

因此,如果我通过以下命令运行此脚本,则会收到语法错误。

test_script.sh[2]: syntax error: 'while' unmatched
Run Code Online (Sandbox Code Playgroud)

我已经确认了语法,但无法从中得到任何想法。你能帮我解决这个问题吗,因为我是 shell 脚本的业余爱好者。

  1. 除此之外,in regards of permissions and other applications如果我在有根的三星设备和谷歌发布的手机(如 NEXUS 4、NEXUS 5)中运行此脚本,我是否知道是否存在差异()

提前致谢。

linux bash shell android

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

使用R将数据帧转换为宽表

我有以下数据框:

    T  S    V
1  s0  A  2.5
2  s1  A    1
3  s2  A    3
4  s0  B  5.6
5  s1  B    7
6  s0  C    8
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

   s0  s1  s2
A 2.5   1   3
B 5.6   7   0
C   8   0   0
Run Code Online (Sandbox Code Playgroud)

这样它就可以用了chisq.test.

我尝试过以下内容,只考虑事件但不考虑值:

table(d$T, d$S)
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
110
查看次数