Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CompatInfo 5.3.0 is detected as PHP 5.6 #268

Closed
llaville opened this issue Jul 9, 2020 · 1 comment
Closed

CompatInfo 5.3.0 is detected as PHP 5.6 #268

llaville opened this issue Jul 9, 2020 · 1 comment
Assignees

Comments

@llaville
Copy link
Owner

llaville commented Jul 9, 2020

Before phpCompatInfo 5.3.0, we used version 3.x of nikic/php-parser package that have PHP bounded context from version 5.2 to 7.2

By upgrading in 5.3.0 to constraint 4.x (4.5.0 or better) the bounded context is now from version 5.2 to 7.4. So we can detect all PHP 5 and 7 features.

When running analyser:run command of phpCompatInfo in src/ folder we get wrong results.

Actual:

Requires PHP 5.6.0 (min), PHP 5.6.0 (all)

Expected at least:

Requires PHP 7.0.0 (min), PHP 7.0.0 (all)
@llaville
Copy link
Owner Author

llaville commented Jul 9, 2020

I've added in all php source scripts the declare control structure.

Fix will consist to :

  • make compatibility analyser compatible with Sniff architecture
  • adds new DeclareSniff to handle <?php declare(strict_types=1); detection

llaville added a commit that referenced this issue Jul 9, 2020
@llaville llaville closed this as completed Jul 9, 2020
@llaville llaville mentioned this issue Jul 9, 2020
24 tasks
llaville added a commit that referenced this issue Jul 10, 2020
llaville added a commit that referenced this issue Oct 1, 2020
new Application version strategy - see GH-267
make compatibility analyser compatible with Sniff architecture - see GH-268
removes old phpunit result printer system
fix DeclareSniff following code reorganization applied to solve issue GH-186
fix AnonymousClassSniff following code reorganization applied to solve issue GH-186
fix ReturnTypeDeclarationSniff following code reorganization applied to solve issue GH-186
migrate old documentation from AsciiDoc to Markdown format
add FilterVisitor and DataCollector(s) component in new architecture 5.4
add contract for ReferenceCollection
add Profiler component in new architecture 5.4
includes part of PHP_Reflect code to decouple CompatInfo from Reflect runner
better identification of anonymous classes, closures, generators
reorganize sniffs by sub folders
use rename ExponantiationSniff to PowOperatorSniff (with ParamTypeDeclarationSniff) to fully fix issue GH-142
use ShortTernaryOperatorSniff to detect elvis syntax
renamed AnonymousFunctionSniff to ClosureSniff
add UseTraitSniff to solve issue gh-227
add CombinedComparisonOperatorSniff to detect Spaceship syntax since PHP 7.0
rename ClassMemberAccessOnInstantiationSniff to ClassMemberAccessSniff and add onCloning PHP 7 feature
add MagicClassConstantSniff to detect ::class syntax since PHP 5.5
add GeneratorSniff to solve issue gh-226; Return expression is not yet handle
add TypedPropertySniff for PHP 7.4 new feature
add phpunit group not_implemented to solve situation of generator return expression (test case exists but not yet implementation)
use ClassExprSyntaxSniff to detect Class::{'expr'} syntax since PHP 5.4
add BinaryNumberFormatSniff to detect bin number format syntax introduced in PHP 5.4
switch from internal api v3 to v5 with a lite analyser:run command with only source path (no more json config file required)
introduces ErrorHandler compatible with nikic/php-parser handled by --stop-on-failure option
introduces logger with --debug option to replace old plugin system
refactor event dispatcher/subscriber features and add container with symfony/dependency-injection component
allow to use the new config option to load dynamically php external configuration via symfony/dependency-injection
add MagicMethodsSniff to detect magic methods since PHP 5.1
replace hard-coded sniffs by a dynamic collection (see dependency-injection/container)
introduces ApplicationInterface to be able to replace instance of console application easily
remove display of php.all info in compatibility analyser
analyser V5 never used anymore the Reflect common v3 component
add CryptStringSniff to solve issue gh-220 (refactor for v5.4)
add new ConditionalCodeSniff
speed-up analysis process by removing priority file queue that is no more necessary
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant