laravelcs icon indicating copy to clipboard operation
laravelcs copied to clipboard

PHPCS needs updated support.

Open designbyjr opened this issue 7 years ago • 10 comments

The most recent PHPCS is not supported in this repo, also there are PSR2 clashes with the repo. The current repo does not support PHP 7 return type Hinting, which was fixed in the last year in PHPCS >=3.0.1. Code example of type hinting. protected static function buildSeleniumProcess() : Process { //some code here } Also when using routes file Squiz does not like function closures. `Route::get('/', function () { return view('welcome');

<- error here disallow whitespace indent

[tab]});`

<- squiz.whitespace and laravel.tabs disallow whitespace clash.

designbyjr avatar Dec 11 '17 15:12 designbyjr

The error I'm getting is:

Fatal error: Interface 'PHP_CodeSniffer_Sniff' not found in…

tedsecretsource avatar Mar 19 '18 23:03 tedsecretsource

Also getting an error:

phpcs --standard=$HOME/.composer/vendor/pragmarx/laravelcs/Standards/Laravel/ .

Fatal error: Interface 'PHP_CodeSniffer_Sniff' not found in 
/Users/tim/.composer/vendor/pragmarx/laravelcs/Standards/Laravel/Sniffs/Tabs
/DisallowWhitespaceIndentSniff.php on line 12

TimOgilvy avatar Apr 16 '18 03:04 TimOgilvy

This seems related so I'll add it here instead of creating a new issue.

When installing via composer global require I'm getting the following when installing on php_codesniffer 3.2.2.

$ composer global require pragmarx/laravelcs
Changed current directory to /Users/zk/.composer
Using version ^0.1.0 for pragmarx/laravelcs
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for pragmarx/laravelcs ^0.1.0 -> satisfiable by pragmarx/laravelcs[v0.1.0].
    - Conclusion: remove squizlabs/php_codesniffer 3.2.2
    - Conclusion: don't install squizlabs/php_codesniffer 3.2.2
    - pragmarx/laravelcs v0.1.0 requires squizlabs/php_codesniffer ~2.0 -> satisfiable by squizlabs/php_codesniffer[2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].
    - Can only install one of: squizlabs/php_codesniffer[2.0.0, 3.2.2].
   …
   … [a bunch of versions listed]
   …
    - Can only install one of: squizlabs/php_codesniffer[2.9.1, 3.2.2].
    - Installation request for squizlabs/php_codesniffer (locked at 3.2.2, required as *) -> satisfiable by squizlabs/php_codesniffer[3.2.2].


Installation failed, reverting ./composer.json to its original content.
$

dotZak avatar Apr 25 '18 10:04 dotZak

The changes needed (afaict) seem to be mostly classnames - I have done this locally, but am not sure what the preferred way to keep backwards compatibility is? (happy to PR)

philtweir avatar Jul 07 '18 14:07 philtweir

@philtweir how do you did this locally to be exact? i need this to work asap.

rizkysyazuli avatar Jul 10 '18 08:07 rizkysyazuli

@rizkysyazuli i'll push to a branch on a fork, and you can try also (will report back here w link)

philtweir avatar Jul 10 '18 09:07 philtweir

Patched version (no backward compatibility): https://github.com/flaxandteal/laravelcs/tree/feature/phpcs3-support

Please note - I have tried this and seemed to work fine (with w0rp/ale in vim) on my own code, but it's quite possible it didn't hit certain code paths. Happy to update if there are further changes required.

philtweir avatar Jul 10 '18 09:07 philtweir

@philtweir how do you install it btw? hehe. sorry, i don't use composer that much.

rizkysyazuli avatar Jul 11 '18 06:07 rizkysyazuli

@rizkysyazuli if you modify the instructions in the README to do:

phpcs --standard=/path/to/cloned/flaxandteal/branch/laravelcs/Standards/Laravel/ /path/to/your/project/files

instead of your normal phpcs call (wherever that is defined in your IDE)

philtweir avatar Jul 11 '18 08:07 philtweir

@philtweir ah, yes. just clone it directly. hehe.

yep, i should be able to reconfigure the linter arguments in SublimeLinter. thx again!

rizkysyazuli avatar Jul 19 '18 09:07 rizkysyazuli