小编loc*_*inz的帖子

如何用PHP解析JSON文件?

我试图使用PHP解析JSON文件.但我现在被困住了.

这是我的JSON文件的内容:

{
    "John": {
        "status":"Wait"
    },
    "Jennifer": {
        "status":"Active"
    },
    "James": {
        "status":"Active",
        "age":56,
        "count":10,
        "progress":0.0029857,
        "bad":0
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所尝试的:

<?php

$string = file_get_contents("/home/michael/test.json");
$json_a = json_decode($string, true);

echo $json_a['John'][status];
echo $json_a['Jennifer'][status];
Run Code Online (Sandbox Code Playgroud)

但是,因为我不知道的名字(例如'John','Jennifer')和所有可用键和值(如'age','count')事前,我想我需要创建一些foreach循环.

我会很感激这样的例子.

php json

386
推荐指数
10
解决办法
72万
查看次数

composer.json中require和require-dev部分之间有什么区别?

我开始使用作曲家,我对它知之甚少,并且对Web应用程序开发有一点经验.

我只是通过Nettuts + Tutorial,所以我有关于作曲家的基本问题.

{
  "require": {
    "laravel/framework": "4.0.*",
    "way/generators": "dev-master",
    "twitter/bootstrap": "dev-master",
    "conarwelsh/mustache-l4": "dev-master"
  },
  "require-dev": {
    "phpunit/phpunit": "3.7.*",
    "mockery/mockery": "0.7.*"
  },
  "autoload": {
    "classmap": [
      "app/commands",
      "app/controllers",
      "app/models",
      "app/database/migrations",
      "app/database/seeds",
      "app/tests/TestCase.php"
    ]
  },
  "scripts": {
    "post-update-cmd": "php artisan optimize"
  },
  "minimum-stability": "dev"
}
Run Code Online (Sandbox Code Playgroud)
  1. 无论"require-dev"部分出现什么,只会下载并安装作曲家安装--dev
  2. 我读了一些作曲家的文档,但仍然不明白我们有"require-dev"部分的原因是什么?是因为我们想获得特定版本的软件包,而不是总是获得最新的稳定版本?

composer-php

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

检查数组中的所有值是否相同

我需要检查数组中的所有值是否相同.

例如:

$allValues = array(
    'true',
    'true',
    'true',
);
Run Code Online (Sandbox Code Playgroud)

如果数组中的每个值都等于'true'那么我想要回显'all true'.如果数组中的任何值等于,'false'那么我想回显'some false'

有关如何做到这一点的任何想法?

php arrays

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

如何在不修改其内容的情况下忽略phpunit中的测试方法?

为了忽略使用PHPUnit的测试,应该在PHP测试方法旁边放置什么属性?

我知道对于NUnit,属性是:

[Test]
[Ignore]
public void IgnoredTest()
Run Code Online (Sandbox Code Playgroud)

php phpunit nunit unit-testing symfony

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

Mockery - call_user_func_array()期望参数1是有效的回调

我有一个我需要模拟的课程:

class MessagePublisher
{
    /**
     * @param \PhpAmqpLib\Message\AMQPMessage $msg
     * @param string $exchange - if not provided then one passed in constructor is used
     * @param string $routing_key
     * @param bool $mandatory
     * @param bool $immediate
     * @param null $ticket
     */
    public function publish(AMQPMessage $msg, $exchange = "", $routing_key = "", $mandatory = false, $immediate = false, $ticket = null)
    {
        if (empty($exchange)) {
            $exchange = $this->exchangeName;
        }

        $this->channel->basic_publish($msg, $exchange, $routing_key, $mandatory, $immediate, $ticket);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Mockery 0.7.2

$mediaPublisherMock = …
Run Code Online (Sandbox Code Playgroud)

php phpunit mocking silex

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

PHPUnit中的Mocks vs Stubs

我知道存根验证状态,模拟验证行为.

如何在PHPUnit中进行模拟以验证方法的行为?Phpunit没有验证方法(verify()),而且我不知道如何使moks成为PHPUnit.

在文档中,创建存根很好地解释了:

// Create a stub for the SomeClass class.
$stub = $this->createMock(SomeClass::class);

// Configure the stub.
$stub
    ->method('doSomething')
    ->willReturn('foo');

// Calling $stub->doSomething() will now return 'foo'.
$this->assertEquals('foo', $stub->doSomething());
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我正在验证状态,说回复一个答案.

如何创建模拟和验证行为的示例?

testing phpunit unit-testing mocking stubs

10
推荐指数
2
解决办法
7477
查看次数

如何在Laravel 5.1中自动加载自定义类?

我在library文件夹中创建了一个文件app夹来添加我自己的类.

在此输入图像描述

这是文件的内容app/library/helper.php:

<?php

namespace Library;

class MyHelper
{
    public function v($arr)
    {
        var_dump($arr);
    }
}
Run Code Online (Sandbox Code Playgroud)

我将命名空间添加到composer.json:

在此输入图像描述

然后我跑了

$ composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

但它似乎没有任何影响.

文件

  • vendor/composer/autoload_psr4.php
  • vendor/composer/autoload_classmap.php

没改变.

如果我尝试创建一个实例MyHelper,Laravel会报告以下错误:

在此输入图像描述

我不确定我做错了什么.

php autoload laravel composer-php

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

如何使用Guzzle 6异步下载文件?

我试图用Guzzle 6异步下载文件,但文档看起来很模糊,找不到任何有用的例子.

我不确定的是 - 我该如何保存收到的数据?

目前我这样做:

$successHandler = function (Response $response, $index) use ($files) {
    $file = fopen($files[$index], 'a');
    $handle = $response->getBody();

    while (!$handle->eof()) {
        fwrite($file, $handle->read(2048));
    }

    fclose($file);
};
Run Code Online (Sandbox Code Playgroud)

这真的是异步吗?

因为如果我们进入一个回调并开始循环,我们如何同时从其他回调中获取数据呢?

在创建请求时,是否有更直接的方式来判断响应应存储在何处?(或直接传递流).

php guzzle guzzle6

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

如何为assetic的TypeScript过滤器指定tsconfig.json?

我正在使用Symfony 3.3和资产包.我在config.yml中有这个:

assetic:
    debug:          '%kernel.debug%'
    use_controller: '%kernel.debug%'
    filters:
        cssrewrite: ~
        typescript: 
            bin: "%kernel.root_dir%/../node_modules/typescript/bin/tsc"
            apply_to: "\\.ts$"
Run Code Online (Sandbox Code Playgroud)

当我尝试编译我的TypeScript文件时,我收到此错误:

Output:
../../../../private/var/folders/94/45yn02792ksfglm12pjxxlp00000gn/T/assetic_typescript_in59bccf08e6357/my-form.ts.ts(6,1): error TS6131: Cannot compile modules using option 'out' unless the '--module' flag is 'amd' or 'system'.
../../../../private/var/folders/94/45yn02792ksfglm12pjxxlp00000gn/T/assetic_typescript_in59bccf08e6357/my-form.ts.ts(6,22): error TS2307: Cannot find module './my-obj.model'.
Run Code Online (Sandbox Code Playgroud)

这在我使用像这样的导入语句后发生import { Obj } from './my-obj.model';.如果我不使用import语句,ts编译工作正常.

如何添加资产的TypeScript过滤器--module system参数或tsconfig.json

symfony assetic typescript

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

如何为php-cs-fixer创建自定义规则集?

如何创建要由fix带选项的命令运行的自定义规则集--rules=@custom

@PSR1@PSR2@Symfony@PHP56Migration@PHP70Migration@PHP71Migration制成。

php-cs-fixer版本:2.2.3

仅通过插入供应商代码- vendor/friendsofphp/php-cs-fixer/src/RuleSet.php

private $setDefinitions = array(
        '@custom' => [
        'some_custom_fixer` => true,
        ]
)
Run Code Online (Sandbox Code Playgroud)

符合我的预期,但RuleSet确实如此final classsetDefinitions使用自定义配置时,有没有方法可以覆盖或扩展.php_cs

php php-cs-fixer

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