小编Cza*_*ino的帖子

在Twig中解码JSON

有可能在树枝上解码JSON吗?谷歌搜索似乎没有任何关于这一点.在Twig中解码JSON没有意义吗?


我正在尝试访问Symfony2的实体字段类型(实体字段类型)上的2个实体属性.

在遇到2个先前的SO问题(Symfony2实体字段类型替代"property"或"__toString()"?Symfony 2创建具有2个属性的实体表单字段)后,建议向实体添加额外方法以检索自定义字符串我想到(并且确实)返回表示对象实例的JSON字符串而不是实体属性.

实体类中的某个地方:

/**
 * Return a JSON string representing this class.
 */
public function getJson()
{
   return json_encode(get_object_vars($this));
}
Run Code Online (Sandbox Code Playgroud)

并在形式(类似):

$builder->add('categories', 'entity', array (
...
'property' => 'json',
...
));
Run Code Online (Sandbox Code Playgroud)

之后,我希望json_decode在Twig中...

{% for category in form.categories %}
    {# json_decode() part is imaginary #}
    {% set obj = category.vars.label|json_decode() %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

php symfony twig

26
推荐指数
3
解决办法
7万
查看次数

php:用cURL获取html源代码

如何在http://www.example-webpage.com/file.html不使用的情况下获取html源代码file_get_contents()

我需要知道这一点,因为在某些webhosts allow_url_fopen被禁用,所以你不能使用file_get_contents().是否可以使用cURL获取html文件的源代码(如果启用了cURL支持)?如果是这样,怎么样?谢谢.

html php curl

21
推荐指数
1
解决办法
12万
查看次数

为什么静态方法不可测试?

为什么静态方法不可测试?请举例说明(如果可能,请使用PHP).

php static-methods unit-testing

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

PHP单元测试:测试应该在与类相同的命名空间下吗?

传统上,Symfony 2.0 bundle目录结构有一个Tests应该放置测试的目录.

Acme
    -> SomeBundle
        -> Controller
        -> Entity
        -> Service
        -> ...
        -> Tests
            -> Controller
            -> Entity
            -> Service
            -> ...
    -> OtherBundle
    -> ...
Run Code Online (Sandbox Code Playgroud)

我知道测试工作即使它们与他们测试的类没有相同的命名空间.

namespace Acme\SomeBundle\Service;

/**
 * Some service.
 *
 * @author varchar
 * @since  August 1, 2012
 */
class SomeService
{
}
Run Code Online (Sandbox Code Playgroud)

对于上面的类,我(对于一个)通常会在以下名称空间下进行测试(受目录结构的影响):

namespace Acme\SomeBundle\Tests\Service;
Run Code Online (Sandbox Code Playgroud)

现在,这可行.

但顺便说一句,我使用Netbeans IDE,它找不到测试类,除非它在同一名称空间下(当你只想测试一个文件时这是值得注意的).嗯,这可能只是一个Netbeans标准(或其他东西).

但是,无论如何将测试置于与被测试类相同的命名空间中是否合适?这样做有什么优点吗?

1)将测试放在与被测试的类相同的命名空间中是否合适?

2)这样做有什么优点吗?

php phpunit namespaces

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

brew安装php56后库未加载错误

我正在使用自制程序在OSX Mavericks上从php5.5升级到php5.6.我跑

brew install php56
Run Code Online (Sandbox Code Playgroud)

一切运行并完成正常,但当我运行时php -v出现以下错误

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.53.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

macos homebrew php-5.6

8
推荐指数
3
解决办法
8368
查看次数

如何在javascript中处理撤消/重做事件?

我正在尝试使用 Javascript 和 JQuery 检测表单输入的值何时发生变化。不幸的是,我发现 JQuery 是$(elem).change()不够的,因为它只在elem失去焦点时触发更改事件。我必须立即知道表单输入值何时发生变化。为此,我将与输入值可能更改相关的事件范围缩小到keyuppastecutundoredo。但是,javascript 和 JQuery 似乎都没有处理撤消或重做的方法。

var onChange = function ()
{
    alert('Checking for changes...');
};

$(this).off('keyup').on('keyup', onChange);
$(this).off('paste').on('paste', onChange);
$(this).off('cut').on('cut', onChange);

$(this).off('undo').on('undo', onChange);  // undo ?
$(this).off('redo').on('redo', onChange);  // redo ?
Run Code Online (Sandbox Code Playgroud)

我在 Javascript/JQuery 中搜索了撤消/重做事件,但没有找到任何有用的信息。有人可以帮助处理撤消/重做事件吗?

javascript jquery

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

从重载函数std :: real <float>解析地址

std::vector<std::complex<float> > c;
std::vector<float> d;
std::transform(c.begin(), c.end(), d.begin(), std::real<float>);
Run Code Online (Sandbox Code Playgroud)

为什么编译器无法解析重载函数的地址real<float>

编译器意味着哪些重载函数?

c++ algorithm stl overloading

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

什么是AutobahnJS领域?

只是想知道realmAutobahnJS 的神秘领域是什么.从文档中,创建连接如下:

var connection = new autobahn.Connection({
    url: 'ws://127.0.0.1:9000/',
    realm: 'realm1'
});
Run Code Online (Sandbox Code Playgroud)

我没有设置领域服务器端,那么这个领域参数是什么?此外,它是必需的字段,必须意味着连接工作是必要的.有人可以启发我们吗?

javascript autobahn wamp-protocol

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

为什么GitHub会将js附加到我的jekyll网站上

我注意到GitHub附加了一个js,当它们带有字符串时,它们似乎会删除指向电子邮件地址的链接/cdn-cgi/l/email-protection.任何其他人都有这个奇怪的问题,或者这甚至真的来自GitHub?

这是这个脚本的美化版本:

(function() {
    try {
        var s, a, i, j, r, c, l = document.getElementsByTagName("a"),
            t = document.createElement("textarea");
        for (i = 0; l.length - i; i++) {
            try {
                a = l[i].getAttribute("href");
                if (a && a.indexOf("/cdn-cgi/l/email-protection") > -1 && (a.length > 28)) {
                    s = '';
                    j = 27 + 1 + a.indexOf("/cdn-cgi/l/email-protection");
                    if (a.length > j) {
                        r = parseInt(a.substr(j, 2), 16);
                        for (j += 2; a.length > j && a.substr(j, 1) != 'X'; …
Run Code Online (Sandbox Code Playgroud)

javascript github jekyll github-pages

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

如何从 python 正则表达式中排除特定字符串

我正在尝试解析/etc/mtab但排除/boot. 我认为也许非捕获组是可行的方法,但它并没有像我预期的那样工作。这是我构建的正则表达式:

proc = subprocess.Popen(["ssh", server, "cat", mtab],stdout = subprocess.PIPE)
for line in proc.stdout:
  fsMatch = re.search(r'([\w/:]+) (/([\w/:-]+)|(?:boot)) (nfs|ext3)', line)
  if fsMatch:
    print fsMatch.group(1,2,4)
Run Code Online (Sandbox Code Playgroud)

输出:

('/dev/sda1', '/boot', 'ext3')
('/dev/mapper/foo1', '/export/foo1', 'ext3')
('/dev/mapper/foo2', '/export/foo2', 'ext3')
('/dev/mapper/foo3', '/export/foo3', 'ext3')
('/dev/mapper/foo4', '/export/foo4', 'ext3')
('/dev/mapper/foo5', '/export/foo5', 'ext3')
('servernfs:/install', '/mnt', 'nfs')
Run Code Online (Sandbox Code Playgroud)

我非常有信心这|是错误的(显然更多的是错误的),但遇到了障碍。

我正在寻找所有匹配项,/[\w/:-]+但排除匹配项/boot

建议?

python regex

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