Git Product home page Git Product logo

tlint's Issues

Undefined method from NoParensEmptyInstantiations lint

Using PHP 7.1.11

If you need any other info, let me know. This is a great package, will look to send you some PRs soon!

PHP Fatal error:  Uncaught Error: Call to undefined method PhpParser\Node\Expr\Variable::toString() in /Users/macbook/.composer/vendor/loganhenson/tlint/src/Linters/NoParensEmptyInstantiations.php:24
Stack trace:
#0 /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php(41): Tighten\Linters\NoParensEmptyInstantiations->Tighten\Linters\{closure}(Object(PhpParser\Node\Expr\New_))
#1 /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(115): PhpParser\NodeVisitor\FindingVisitor->enterNode(Object(PhpParser\Node\Expr\New_))
#2 /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(197): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Return_))
#3 /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(108): PhpParser\NodeTraverser->traverseArray(Array)
#4 /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(197): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node in /Users/macbook/.composer/vendor/loganhenson/tlint/src/Linters/NoParensEmptyInstantiations.php on line 24

Fatal error: Uncaught Error: Call to undefined method PhpParser\Node\Expr\Variable::toString() in /Users/macbook/.composer/vendor/loganhenson/tlint/src/Linters/NoParensEmptyInstantiations.php on line 24

Error: Call to undefined method PhpParser\Node\Expr\Variable::toString() in /Users/macbook/.composer/vendor/loganhenson/tlint/src/Linters/NoParensEmptyInstantiations.php on line 24

Call Stack:
    0.0003     357824   1. {main}() /Users/macbook/.composer/vendor/loganhenson/tlint/bin/tlint:0
    0.0315    1606216   2. Symfony\Component\Console\Application->run() /Users/macbook/.composer/vendor/loganhenson/tlint/bin/tlint:34
    0.0511    1855152   3. Symfony\Component\Console\Application->doRun() /Users/macbook/.composer/vendor/symfony/console/Application.php:148
    0.0515    1857944   4. Symfony\Component\Console\Application->doRunCommand() /Users/macbook/.composer/vendor/symfony/console/Application.php:240
    0.0515    1857944   5. Tighten\Commands\LintCommand->run() /Users/macbook/.composer/vendor/symfony/console/Application.php:938
    0.0517    1859352   6. Tighten\Commands\LintCommand->execute() /Users/macbook/.composer/vendor/symfony/console/Command/Command.php:252
   12.7301    9493792   7. Tighten\Commands\LintCommand->lintFile() /Users/macbook/.composer/vendor/loganhenson/tlint/src/Commands/LintCommand.php:203
   12.7699   10092120   8. Tighten\TLint->lint() /Users/macbook/.composer/vendor/loganhenson/tlint/src/Commands/LintCommand.php:89
   12.7699   10092816   9. Tighten\Linters\NoParensEmptyInstantiations->lint() /Users/macbook/.composer/vendor/loganhenson/tlint/src/TLint.php:27
   12.7730   10085784  10. PhpParser\NodeTraverser->traverse() /Users/macbook/.composer/vendor/loganhenson/tlint/src/Linters/NoParensEmptyInstantiations.php:30
   12.7730   10085784  11. PhpParser\NodeTraverser->traverseArray() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:85
   12.7730   10086208  12. PhpParser\NodeTraverser->traverseNode() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:197
   12.7730   10086304  13. PhpParser\NodeTraverser->traverseArray() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:108
   12.7731   10087784  14. PhpParser\NodeTraverser->traverseNode() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:197
   12.7732   10087984  15. PhpParser\NodeTraverser->traverseArray() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:108
   12.7732   10088408  16. PhpParser\NodeTraverser->traverseNode() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:197
   12.7732   10088792  17. PhpParser\NodeTraverser->traverseArray() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:108
   12.7734   10090496  18. PhpParser\NodeTraverser->traverseNode() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:197
   12.7734   10090520  19. PhpParser\NodeVisitor\FindingVisitor->enterNode() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:115
   12.7734   10090520  20. Tighten\Linters\NoParensEmptyInstantiations->Tighten\Linters\{closure}() /Users/macbook/.composer/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php:41

handle `use` aliasing

use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;

Ensure 1 line separation between visibility differing class members

Before

class Purchase extends Model
{
    public const CASH = 'cash';
    public const FINANCE = 'finance';
    public const LEASE = 'lease';
    protected $guarded = [
        'id',
    ];

After

class Purchase extends Model
{
    public const CASH = 'cash';
    public const FINANCE = 'finance';
    public const LEASE = 'lease';

    protected $guarded = [
        'id',
    ];

string interpolation

general default is (but this is not hard and fast rules)

  1. use concatenation when it’s not inline. “User: ” . $user->name()
  2. Use interpolation with braces when it’s simple and inline: “You’ve subscribe to the {$plan} plan.”
  3. Use sprintf for everything else.

Definite rule of “never use interpolation without braces”

The argument against interpolation without braces being that it’s just not very clear.

[bug] ClassThingsOrder.php line 79: Unknown statement

The linter throws the following exception when running:

PS D:\Users\projects\abc> tlint

In ClassThingsOrder.php line 79:

  Unknown statement


lint [--diff] [--json] [--] [<file or directory>]

PS D:\Users\Shantanu\projects\abc>

False Positive `PureRestControllers`

You should not mix restful and non-restful methods in a controller
<?php

namespace App\Http\Controllers;

use App\Data\Models\Profession;

class ProfessionController extends Controller
{
    public function show($slug)
    {
        return view('professions.show')
            ->with('profession', Profession::where('slug', $slug)->firstOrFail())
            ->with('professions', Profession::all());
    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.