Closed mrliptontea closed 1 year ago
Just so I can leave that somewhere - I wanted to also include PHP 7.4 but with current code it won't work.
I haven't looked further than that, but an issue I found while running unit tests is that Tripod\Mongo\Jobs\JobBase
class, and classes inheriting from it, on numerous occasions are referencing $this->job
and $this->args
properties but they're never set anywhere and are not defined in the class.
The only way it kind of works in PHP 7.3 still is there seems to be some nuance around setting such properties as if they're arrays vs if they're just a string value. Better explained with code below:
# Works ('foo' is created as stdClass with 'bar' array)
php73 -r '$obj = new \stdClass(); $obj->foo->bar["baz"] = uniqid(); var_dump($obj);'
# Warning: Creating default object from empty value
php74 -r '$obj = new \stdClass(); $obj->foo->bar["baz"] = uniqid(); var_dump($obj);'
# BUT!
# Warning: Creating default object from empty value
php73 -r '$obj = new \stdClass(); $obj->foo->bar = uniqid(); var_dump($obj);'
# Warning: Creating default object from empty value
php74 -r '$obj = new \stdClass(); $obj->foo->bar = uniqid(); var_dump($obj);'
Granted, this produces only a warning, but whether that stops the app depends on how errors are handled within the app. PHPUnit fails on this, for example.
PLT-72
Upgrade MongoDB extension and library to match versions that work with PHP 5.5 - 7.3.
Move
mongodb
andphp-resque
packages to dev dependencies for tests and suggest them when installing within an app - this will allow the application to install appropriate one.mongodb/mongodb
requires the library to match the version of the extension, which depends on the PHP version too, so it's not possible to capture what needs to be installed in version constraints in composer.json.chrisboulton/php-resque
package has moved toresque/php-resque
but it's still the same package, and the consuming app could use either. Again, not possible to capture as package/version constraints in composer.json.Bump
semsol/arc2
package to the latest patch (diff).Remove builds against PHP 5.6, 7.0, 7.2 as we don't use those PHP versions.
Refactor CircleCI config.
Remove unused build files.