我只是回到PHP,并试图从一开始就做正确的事情。因此,我已经安装了20151116,而且我似乎无法让它与作曲家的自动加载器一起工作。有可能吗?
例如,我试图向拉拉维尔/特使添加一个测试用例,但我无法通过“未声明的父类TestCase”错误。
文件夹结构是:
envoy
├── tests
│ ├── RemoteProcessorTest.php
│ ├── SSHConfigFileTest.php
│ └── TestCase.php
RemoteProcessorTest.php的内容如下:
<?php
namespace Laravel\Envoy;
class RemoteProcessTest extends TestCase
{
}如果运行./vendor/bin/phpunit,则会得到错误:No tests found in class "Laravel\Envoy\RemoteProcessTest".。这不是语法错误,所以看起来一切都是有效的。但是phplint仍在抱怨。
$ cd envoy
$ phpl --php-version 5 --print-path relative --print-column-number --tab-size 4 --no-overall tests/RemoteProcessorTest.php
BEGIN parsing of tests/RemoteProcessorTest.php
1: <?php
2: namespace Laravel\Envoy;
3:
4: class RemoteProcessTest extends TestCase
5: {
{
\_ HERE
==== 5:1: ERROR: undeclared parent class TestCase
6: }
END parsing of tests/RemoteProcessorTest.php这附近有工作吗?
发布于 2016-01-27 01:56:53
我可能无法直接回答这个问题,因为问题中的回购似乎太过有限,无法给你你想要的。我会让社区直接回答这个问题。
以下是一些有希望有所帮助的替代方案。
如果您想要语法检查,PHP有一个内置的linter。简单地说:
$ php -l filename.php或者--syntax-check而不是-l。
也有这样的包装者作为一个可行的替代方案。https://packagist.org/packages/gamegos/php-code-sniffer
它有一个名为phpcs.xml的配置文件,您可以通过composer将其签入回购程序并包含其中。
# composer.json
...
require-dev {
"gamegos/php-code-sniffer": "0.4.0"
}
...phpcs.xml文件有一个引导标记,它将为它提供信息,以便在您自己的文件中找到Laravel类。
<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<rule ref="Gamegos" />
<arg name="bootstrap" value="vendor/autoload.php" />
</ruleset>在使用Composer安装之后,您将有3个二进制文件:
你可以找到很多定制选项上的Github回购。https://github.com/gamegos/php-code-sniffer
https://stackoverflow.com/questions/34984395
复制相似问题