Web application runner for RoadRunner

Overview

Yii RoadRunner Runner


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

The package contains a bootstrap for running Yii3 applications using RoadRunner.

Requirements

  • PHP 7.4 or higher.

Installation

The package could be installed with composer:

composer require yiisoft/yii-runner-roadrunner --prefer-dist

General usage

Get RoadRunner:

./vendor/bin/rr get

Create worker.php in your application root directory:



declare(strict_types=1);

use App\Runner\RoadRunnerApplicationRunner;

ini_set('display_errors', 'stderr');

require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/preload.php';

(new RoadRunnerApplicationRunner($_ENV['YII_DEBUG'], $_ENV['YII_ENV']))->run();

Specify it in your .rr.yaml:

server:
    command: "php /worker.php"

rpc:
    listen: tcp://127.0.0.1:6001

http:
    address: :8082
    pool:
        num_workers: 4
        max_jobs: 64
    middleware: ["static", "headers"]
    static:
        dir:   "/public"
        forbid: [".php", ".htaccess"]
    headers:
        response:
            "Cache-Control": "no-cache"

reload:
    interval: 1s
    patterns: [ ".php" ]
    services:
        http:
            recursive: true
            dirs: [ "/" ]

logs:
    mode: production
    level: warn

Run RoadRunner with the config specified:

./vendor/bin/rr serve -c ./.rr.yaml

Testing

Unit testing

The package is tested with PHPUnit. To run tests:

./vendor/bin/phpunit

Mutation testing

The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:

./vendor/bin/roave-infection-static-analysis-plugin

Static analysis

The code is statically analyzed with Psalm. To run static analysis:

./vendor/bin/psalm

License

The Yii yii-runner-roadrunner is free software. It is released under the terms of the BSD License. Please see LICENSE for more information.

Maintained by Yii Software.

Support the project

Open Collective

Follow updates

Official website Twitter Telegram Facebook Slack

Comments
  • Update rector/rector requirement from ^0.14.3 to ^0.15.0

    Update rector/rector requirement from ^0.14.3 to ^0.15.0

    Updates the requirements on rector/rector to permit the latest version.

    Release notes

    Sourced from rector/rector's releases.

    Released Rector 0.15

    We released a new getrector.org website, including new documentation - https://getrector.org/documentation :tada: You can already find a few new sections there.

    This release brings the most significant changes in type safety. Few rules in type declaration worked with docblock types and completed type as strict. These rules lead to crashing code with invalid types. Instead, we've been splitting these rules into smaller and specific ones (Unix style!) that handle exact strict type declarations. This release finalizes the removal of these weak rules.

    Welcome new type declaration rules that are safe and work with 100 % known strict types ↓

    New Features :partying_face:

    • [TypeDeclaration] Add AddParamTypeBasedOnPHPUnitDataProviderRector + remove too narrow KnownArrayParamTypeInferer (#3104)
    • [TypeDeclaration] Add AddParamTypeSplFixedArrayRector (#3105)
    • [TypeDeclaration] Add AddReturnTypeDeclarationFromYieldsRector (#3114)
    • [TypeDeclaration] Add ReturnTypeFromReturnDirectArrayRector, ReturnTypeFromStrictConstantReturnRector, ReturnTypeFromStrictTypedCallRector (#3125)
    • [TypeDeclaration] Add AddParamTypeFromPropertyTypeRector (#3109)
    • Add list-rules command for tool interoperabtility (#3087)
    • Add SimplifyEmptyCheckOnEmptyArrayRector #7485 (#3069), Thanks @​JohJohan!
    • [Php80] Add ClassOnThisVariableObjectRector (#3093)

    Bugfixes :bug:

    • [Php80] Skip possible numeric string switch cond with all integer case cond on ChangeSwitchToMatchRector (#3067)
    • Skip MakeTypedPropertyNullableIfCheckedRector for constructor assigment. (#3074), Thanks @​Wohlie!
    • Fix StrContainsRector when strpos offset is set (#3086), Thanks @​ajgarlag!
    • [TypeDeclaration] Handle return self on TypedPropertyFromStrictGetterMethodReturnTypeRector on php 8.0 feature enabled (#3088)
    • [Php80] Do not remove existing attribute on NestedAnnotationToAttributeRector (#3116)
    • [CodeQuality] Skip from non-typed param on SimplifyEmptyCheckOnEmptyArrayRector (#3115)
    • [DeadCode] Fix RemoveJustPropertyFetchRector to skip concat assigns (#3123)
    • [DeadCode] Skip re-assigned variable in RemoveJustPropertyFetchRector (#3124)
    • [Php74] Register TypedPropertyFromAssignsRector to php74 config set (#3127)
    • docs (https://github.com/rectorphp/rector-src/commit/571a1e6067342b21c2baaa10976103915299b0c6)
    • [TypeDeclaration] Skip property names in TypedPropertyFromStrictConstructorRector (#3128)
    • [TypeDeclaration] Skip doctrine collection type (#3130)
    • [TypeDeclaration] Use existing MakePropertyTypedGuard on TypedPropertyFromStrictConstructorRector (#3131)
    • [PHP 8.1] Add other methods to ClassFromEnumFactory (https://github.com/rectorphp/rector-src/commit/d2064068055fb25da2c245515a6c6260fbe6a597)
    • simplify PHPStanStaticTypeMapper (#3143), Thanks @​staabm!
    • Fix foreach key evaluation for SimplifyForeachToArrayFilterRector. (#3100), Thanks @​Wohlie!
    • [Php55] Handle crash on curly parentheses delimiter on PregReplaceEModifierRector (#3144)
    • [Php73] Add closure bindings for SimplifyForeachToArrayFilterRector. (#3146), Thanks @​Wohlie!

    ... (truncated)

    Commits
    • fbfbe49 Rector 0.15.0
    • ab11a00 Updated Rector to commit 25dec6b32504d747ff62193ff4704144ca10b040
    • 3d977e0 Updated Rector to commit 16680c4f102d8155d94340307e8ec02c03ac42ed
    • c390fa8 Updated Rector to commit 4e9214f313edac16dbb4ff6ac48da2d1d706a360
    • 113d4ed Updated Rector to commit 58069c319777423311a4877733c01c54394c3a27
    • 2a553a9 Updated Rector to commit 3dea2bdc4de76d217cc2d67cce4ccb41d2b4c7f3
    • 83accd4 Updated Rector to commit efd09bbb400b2382be39effc206551e6964fa5ea
    • 642698e Updated Rector to commit e8a252fe262cac38eb74b9584f78e2daee006ffa
    • 82eda1f Updated Rector to commit d670b4e50deb738f15d77c6a4f7fe773791c871f
    • 670f999 Updated Rector to commit 1f46de3de704155da47e3b8d87312224cb5550d6
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 3
  • Update rector/rector requirement from ^0.14.3 to ^0.15.1

    Update rector/rector requirement from ^0.14.3 to ^0.15.1

    Updates the requirements on rector/rector to permit the latest version.

    Release notes

    Sourced from rector/rector's releases.

    Released Rector 0.15.1

    New Features :partying_face:

    • [CodingStyle] Split SplitGroupedConstantsAndPropertiesRector to SplitGroupedClassConstantsRector and SplitGroupedPropertiesRector (#3158)
    • Add compatible phpstan/phpdoc-parser 0.15 (#3157)

    Bugfixes :bug:

    • Skip short class names in UseClassKeywordForClassNameResolutionRector (#3156)
    • [Core] Fix crash indentation on indent(\t, 1) config (#3155)
    • [TypeDeclaration] Skip union mixed on TypedPropertyFromAssignsRector (#3160)
    • [TypeDeclaration] Handle Anonymous class extends existing class in union (#3161)
    • Add skipped Rectors to list-rules (#3162)
    • [TypeDeclaration] Remove PhpDocTypeChanger->changeVarType() on TypedPropertyFromAssignsRector (#3163)
    • [TypeDeclaration] Skip multi return types on ReturnTypeFromReturnDirectArrayRector (#3164)
    • [CodeQuality] Skip stdClass in IssetOnPropertyObjectToPropertyExistsRector, as always nested (#3166)
    • Do not apply property promotion to parameters with the SensitiveParameter attribute (#3165), Thanks @​mbabker!
    • [TypeDeclaration] Skip void return on AddArrowFunctionReturnTypeRector (#3167)
    • [Php82] Skip ReadOnlyClassRector on has parent non-readonly class (#3169), Thanks @​Yoann-TYT!
    • [CodeQuality] Handle BooleanNot on SimplifyEmptyCheckOnEmptyArrayRector (#3170)
    • [Core] Use FullyQualifiedObjectType and ThisType detection for local property fetch on PropertyFetchAnalyzer (#3172)
    • [CodeQuality] Skip non typed property no default value never assigned on SimplifyEmptyCheckOnEmptyArrayRector (#3171)
    • [PHPStanStaticTypeMapper] Handle Nullable Type on UnionType on UnionTypeMapper when possible (#3173)
    • [CodeQuality][CodingStyle] Handle crash on SimplifyIfReturnBoolRector+NewlineAfterStatementRector+StringClassNameToClassConstantRector (#3175)
    • [DeadCode] Skip Class Constant used in Enum on RemoveUnusedPrivateCla… (#3174), Thanks @​eliashaeussler!
    • [Php80] Do not remove Parameter attribute on ClassPropertyAssignToConstructorPromotionRector (#3179)
    • [PHP 8.1] Skip trait in NullToStrictStringFuncCallArgRector as unknown context (#3180)
    • Fix trait property visibility in PrivatizeFinalClassPropertyRector (#3182)
    • [Php81] Allow normal variable in trait on NullToStrictStringFuncCallArgRector (#3181)
    Commits
    • bf52972 Rector 0.15.1
    • 2458235 Updated Rector to commit c21cafaf90cab17ae26900679f70461063ab791e
    • 7c46ba0 Updated Rector to commit c21cafaf90cab17ae26900679f70461063ab791e
    • a6cbd60 Updated Rector to commit f20fd6e9daf997a2116f34a305d2c9afa72d393a
    • 12fbd94 Updated Rector to commit 30bc9ac21ab0e2acbd617954ed6358557514e188
    • 04232cb Updated Rector to commit d80ddd193deeebd47e765dfb58d300faaedc25b4
    • d205913 Updated Rector to commit de008767d91ad6cd5ed77bdc259454665e4bbde9
    • 5a40891 Updated Rector to commit de008767d91ad6cd5ed77bdc259454665e4bbde9
    • 7924f69 Updated Rector to commit de008767d91ad6cd5ed77bdc259454665e4bbde9
    • 5c3e98d Updated Rector to commit bea2e12a6d6e7a7b1eb1f7b6f82a0ec1e7c21f2c
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Update vimeo/psalm requirement from ^4.18 to ^5.2

    Update vimeo/psalm requirement from ^4.18 to ^5.2

    Updates the requirements on vimeo/psalm to permit the latest version.

    Release notes

    Sourced from vimeo/psalm's releases.

    5.2.0

    What's Changed

    Features

    Fixes

    Internal changes

    Typos

    New Contributors

    Full Changelog: https://github.com/vimeo/psalm/compare/5.1.0...5.2.0

    Commits
    • fb685a1 Merge pull request #8890 from weirdan/enum-forbidden-methods
    • 9db0eb3 InvalidEnumMethod requires PHP8.1+
    • 19a1005 Forbid most magic methods on enums
    • ca0b2a1 Merge pull request #8883 from weirdan/unused-messages-duplicates
    • 32eaf12 Prevent duplicate (Possibly)UnusedMethod/(Possibly)UnusedProperty
    • 114552f Merge pull request #8882 from theofidry/feature/update-cpu-core-counter
    • 4a6bfea Upgrade CpuCoreCounter
    • ef02ded Merge pull request #8833 from theofidry/feature/cpu-counter
    • af549fa Merge pull request #8854 from kkmuffme/fix-unsafe-file_get_contents
    • 2a45f18 Merge pull request #8870 from lptn/add-missing-sodium-functions
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Update vimeo/psalm requirement from ^4.18 to ^5.1

    Update vimeo/psalm requirement from ^4.18 to ^5.1

    Updates the requirements on vimeo/psalm to permit the latest version.

    Release notes

    Sourced from vimeo/psalm's releases.

    5.1.0

    What's Changed

    Deprecations

    Features

    Fixes

    Docs

    New Contributors

    Full Changelog: https://github.com/vimeo/psalm/compare/5.0.0...5.1.0

    Commits
    • 4defa17 Merge pull request #8774 from bdsl/report-by-issue-type-severity
    • 1dbdf78 Code style fix
    • ad57727 Sort issue by position in codebase in ByIssueLevelAndTypeReport if level & ty...
    • a29f65e Fix too lax function visibility in test
    • 6693421 Code style fix
    • 5423983 Fix error in ByIssueLvelAndTypeReport heading
    • 699ee34 Indent heredoc in test
    • d6c7c86 Remove unecassary subheadings in error levels documentation
    • cd18cdc Re-order list of errors in docs
    • 9e63bf6 Minor code edits in ByIssueLevelAndType
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Update vimeo/psalm requirement from ^4.18 to ^5.0

    Update vimeo/psalm requirement from ^4.18 to ^5.0

    Updates the requirements on vimeo/psalm to permit the latest version.

    Release notes

    Sourced from vimeo/psalm's releases.

    Psalm 5

    Welcome to Psalm 5!

    There's an accompanying post on psalm.dev, written by @​muglug & the current maintainers of Psalm.

    What's Changed

    Removed

    Features

    ... (truncated)

    Commits
    • 4e177bf Merge pull request #8790 from malarzm/patch-1
    • 7877570 Remove CallMapTest.php from Psalm self-analysis
    • 28188d1 Remove unfinished sentence
    • 6fff6df Merge pull request #8788 from weirdan/fix-xml-report-crashes-on-8.1
    • 874eb7d Fix crashes when XML report is used on PHP 8.1
    • 9d597cf Merge pull request #8782 from weirdan/check-runtime-requirements
    • 94dac9f Merge pull request #8783 from weirdan/bump-slevomat-coding-standard
    • ed36f2c Bump slevomat/coding-standard
    • 8fa35c2 Variables should outlive namespaces (#8779)
    • 05b8e0e Replace all references to static variables when moving class (#8780)
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Update yiisoft/definitions requirement from ^1.0|^2.0 to ^3.0.1

    Update yiisoft/definitions requirement from ^1.0|^2.0 to ^3.0.1

    Updates the requirements on yiisoft/definitions to permit the latest version.

    Release notes

    Sourced from yiisoft/definitions's releases.

    Version 3.0.1

    • Bug #53: Fixed error on use in array definition methods that should be work via magic __call() method (@​vjik)
    Changelog

    Sourced from yiisoft/definitions's changelog.

    3.0.1 November 08, 2022

    • Bug #53: Fixed error on use in array definition methods that should be work via magic __call() method (@​vjik)

    3.0.0 November 04, 2022

    • Chg #49: Change result format of DefinitionStorage::getBuildStack() method to definition IDs array (@​vjik)
    • Enh #41: Raise minimum PHP version to 8.0 and refactor code (@​xepozz, @​vjik)
    • Enh #44: In methods of array definitions add autowiring and improve variadic arguments support (@​vjik)
    • Enh #46: In definition validator add a check of method name in array definitions (@​vjik)
    • Bug #48: Definition validator returns false positive result on empty string (@​vjik)

    2.1.0 October 25, 2022

    • Enh #43: Add Reference::optional() method that returns null when there is no dependency defined in container (@​vjik)

    2.0.0 June 17, 2022

    • New #37: Make method DefinitionValidator::validateArrayDefinition() public (@​vjik)
    • Chg #30: Rename method ArrayDefinition::setReferenceContainer() to withReferenceContainer() and make it immutable (@​vjik)
    • Chg #37: Remove method ParameterDefinition::isBuiltin() (@​vjik)

    1.0.2 April 01, 2022

    • Bug #32: Throw exception instead of returning default value if optional dependency exists but there is an exception when getting it (@​vjik)
    • Bug #34: In one of edge cases don't throw exception if container returned result of incorrect type (@​vjik)

    1.0.1 December 19, 2021

    • Bug #31: Add support for objects as default parameter values (@​vjik)

    1.0.0 November 30, 2021

    • Initial release.
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Update yiisoft/definitions requirement from ^1.0|^2.0 to ^3.0.0

    Update yiisoft/definitions requirement from ^1.0|^2.0 to ^3.0.0

    Updates the requirements on yiisoft/definitions to permit the latest version.

    Release notes

    Sourced from yiisoft/definitions's releases.

    Version 3.0.0

    • Chg #49: Change result format of DefinitionStorage::getBuildStack() method to definition IDs array (@​vjik)
    • Enh #41: Raise minimum PHP version to 8.0 and refactor code (@​xepozz, @​vjik)
    • Enh #44: In methods of array definitions add autowiring and improve variadic arguments support (@​vjik)
    • Enh #46: In definition validator add a check of method name in array definitions (@​vjik)
    • Bug #48: Definition validator returns false positive result on empty string (@​vjik)
    Changelog

    Sourced from yiisoft/definitions's changelog.

    3.0.0 November 04, 2022

    • Chg #49: Change result format of DefinitionStorage::getBuildStack() method to definition IDs array (@​vjik)
    • Enh #41: Raise minimum PHP version to 8.0 and refactor code (@​xepozz, @​vjik)
    • Enh #44: In methods of array definitions add autowiring and improve variadic arguments support (@​vjik)
    • Enh #46: In definition validator add a check of method name in array definitions (@​vjik)
    • Bug #48: Definition validator returns false positive result on empty string (@​vjik)

    2.1.0 October 25, 2022

    • Enh #43: Add Reference::optional() method that returns null when there is no dependency defined in container (@​vjik)

    2.0.0 June 17, 2022

    • New #37: Make method DefinitionValidator::validateArrayDefinition() public (@​vjik)
    • Chg #30: Rename method ArrayDefinition::setReferenceContainer() to withReferenceContainer() and make it immutable (@​vjik)
    • Chg #37: Remove method ParameterDefinition::isBuiltin() (@​vjik)

    1.0.2 April 01, 2022

    • Bug #32: Throw exception instead of returning default value if optional dependency exists but there is an exception when getting it (@​vjik)
    • Bug #34: In one of edge cases don't throw exception if container returned result of incorrect type (@​vjik)

    1.0.1 December 19, 2021

    • Bug #31: Add support for objects as default parameter values (@​vjik)

    1.0.0 November 30, 2021

    • Initial release.
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Update vimeo/psalm requirement from ^4.18 to ^5.3

    Update vimeo/psalm requirement from ^4.18 to ^5.3

    Updates the requirements on vimeo/psalm to permit the latest version.

    Release notes

    Sourced from vimeo/psalm's releases.

    5.3.0

    What's Changed

    Features

    Fixes

    Docs

    Internal changes

    New Contributors

    Full Changelog: https://github.com/vimeo/psalm/compare/5.2.0...5.3.0

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 1
  • Update yiisoft/log-target-file requirement from ^1.1 to ^2.0

    Update yiisoft/log-target-file requirement from ^1.1 to ^2.0

    Updates the requirements on yiisoft/log-target-file to permit the latest version.

    Release notes

    Sourced from yiisoft/log-target-file's releases.

    Version 2.0.0

    Changelog

    Sourced from yiisoft/log-target-file's changelog.

    2.0.0 July 18, 2022

    1.1.0 May 23, 2022

    • Chg #36: Raise the minimum yiisoft/log version to ^2.0 and the minimum PHP version to 8.0 (@​rustamwin)

    1.0.4 August 26, 2021

    • Bug #35: Remove Psr\Log\LoggerInterface definition from configuration for using multiple targets to application (@​devanych)

    1.0.3 April 13, 2021

    1.0.2 March 23, 2021

    • Chg: Adjust config for new config plugin (@​samdark)

    1.0.1 February 22, 2021

    • Chg #29: Replace the default maximum file size for file rotation to 10 megabytes in params.php (@​devanych)

    1.0.0 February 11, 2021

    Initial release.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 1
  • Catch exceptions from worker::waitRequest() method

    Catch exceptions from worker::waitRequest() method

    https://github.com/yiisoft/yii-runner-roadrunner/blob/c820494b4f97eed1ab756de19e14d158d6195d98/src/RoadRunnerApplicationRunner.php#L86

    Here an exception can be thrown.

    See https://github.com/spiral/roadrunner-docs/pull/73 : in this case exception was thrown when numeric header has been received because numeric keys in PHP are casted into Integer and nyholm's implementation doesn't support it (https://github.com/Nyholm/psr7/blob/fafc2faf8d49b979f922fe416dc8805462dc1fe8/src/MessageTrait.php#L178)

    The issue has been resolved with this "kostyl": https://github.com/spiral/roadrunner-http/pull/8/files But this fix will not protect worker from other exceptions of third-party PSR-7 implementations.

    status:ready for adoption type:enhancement 
    opened by roxblnfk 1
  • Sync with middleware dispatcher changes

    Sync with middleware dispatcher changes

    | Q | A | ------------- | --- | Is bugfix? | ✔️ | New feature? | ❌ | Breaks BC? | ❌ | Fixed issues | Related - https://github.com/yiisoft/middleware-dispatcher/pull/55

    type:bug 
    opened by arogachev 0
  • Update rector/rector requirement from ^0.14.3 to ^0.15.2

    Update rector/rector requirement from ^0.14.3 to ^0.15.2

    Updates the requirements on rector/rector to permit the latest version.

    Release notes

    Sourced from rector/rector's releases.

    Released Rector 0.15.2

    New Features :partying_face:

    • [TypeDeclaration] Add FalseReturnClassMethodToNullableRector (#3229)
    • [DeadCode] Add TargetRemoveClassMethodRector (#3240)
    • Adapt PrivateConstantToSelfRector to work on non-final classes, too (#3198), Thanks @​alfredbez!
    • [CodingStyle] Add NullifyUnionNullableRector (#3231)
    • [TypeCoverage] Add EmptyOnNullableObjectToInstanceOfRector (#3230)
    • RenameClassRector with callback support (#3023), Thanks @​dorrogeray!

    Bugfixes :bug:

    • [Php82] Handle parent already readonly on ReadOnlyClassRector (#3199)
    • [DeadCode] Skip append array data on RemoveJustPropertyFetchRector (#3201)
    • [DeadCode] Skip standalone @​return false or true on RemoveUselessReturnTagRector (#3202)
    • Fix wrong reference to replacement rule (#3203), Thanks @​jlherren!
    • [Privatization] Do not remove comment on ChangeReadOnlyPropertyWithDefaultValueToConstantRector (#3204)
    • [Naming] Skip Doctrine collection with @​var Collection on RenamePropertyToMatchTypeRector (#3209)
    • [Core] Performance improvement: Remove unnecessary re-call FileFactory::createFileInfosFromPaths() (#3210)
    • [Php71] Skip defer() function on RemoveExtraParametersRector (#3211)
    • [Core] Improve performance: remove repetitive currentFileProvider->setFile() call on PhpFileProcessor (#3213)
    • [Php81] Allow explicit mixed processed on trait on NullToStrictStringFuncCallArgRector (#3212)
    • [Privatization] Skip used by heredoc on ChangeReadOnlyVariableWithDefaultValueToConstantRector (#3216)
    • [Parallel] Fix missing process RemovedAndAddedFilesProcessor->run() on parallel process on WorkerRunner (#3218)
    • [parallel] Improve performance: Run RemovedAndAddeedFileProcessor after loop (#3219)
    • [CodeQuality] Add empty() check to FlipTypeControlToUseExclusiveTypeRector (#3224)
    • [CodeQuality][TypeDeclaration] Handle default value from constructor removed on InlineConstructorDefaultToPropertyRector+TypedPropertyFromStrictConstructorRector (#3225)
    • [TypeDeclaration] Skip yield return on AddClosureReturnTypeRector (#3227)
    • [TypeDeclaration] Skip optional yield on AddReturnTypeDeclarationFromYieldsRector (#3228)
    • [NodeTraverser] Use NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN instead of NodeTraverser::DONT_TRAVERSE__CHILDREN (#3233)
    • [Core] Improve performance on AstResolver and ClassLikeAstResolver (#3234)
    • [Php81] Skip ReadOnlyPropertyRector on read only class (#3236)
    • [CodingStyle] Skip new line /\r\n|\r|\n/i on ConsistentPregDelimiterRector (#3241)
    • [CodingStyle] Skip EncapsedStringsToSprintfRector on heredoc (#3242)
    Commits
    • 5bc89fa Rector 0.15.2
    • 5b34b97 Updated Rector to commit f8814b1d707d72e284870759d1f446848fa003b2
    • 374d2f5 Updated Rector to commit f8814b1d707d72e284870759d1f446848fa003b2
    • 5003a01 Updated Rector to commit e920ade7b67a17dbf7e6129585a3261f1fd1540e
    • f233f27 Updated Rector to commit ab3ad293122bafa96d9e8fc64ac15f0220aa9ecc
    • 727b9f4 Updated Rector to commit bfa1891c50677b01136a9308fd3c3ecc12e267d9
    • 680ba23 Updated Rector to commit 88629427917b7d359beeb1a0b34d39d2127472b9
    • e4dc601 Updated Rector to commit 3c168f03d38bb967a5e65e453f82adf120ef4eba
    • 96d8a22 Updated Rector to commit 70fea54e77ffd186e41540d2b36c5362b073fbc4
    • d72c810 Updated Rector to commit c78e255cf9cb17cedead84ff8a54f421f563942d
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 1
  • Update vimeo/psalm requirement from ^4.18 to ^5.4

    Update vimeo/psalm requirement from ^4.18 to ^5.4

    Updates the requirements on vimeo/psalm to permit the latest version.

    Release notes

    Sourced from vimeo/psalm's releases.

    5.4.0

    What's Changed

    Features

    Fixes

    Internal changes

    Full Changelog: https://github.com/vimeo/psalm/compare/5.3.0...5.4.0

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 0
  • Remove transitive dependencies

    Remove transitive dependencies

    yiisoft/middleware-dispatcher (https://github.com/yiisoft/yii-runner-roadrunner/blob/263526f102d951a09d8ea0e5864553d3d60a0c15/tests/TestCase.php#L34)

    Will be cool add transitive dependency checker to CI (see example)

    status:ready for adoption 
    opened by vjik 1
Releases(1.1.2)
Owner
Yii Software
Yii Framework and packages
Yii Software
RoadRunner ⇆ Laravel bridge

RoadRunner ⇆ Laravel bridge Easy way for connecting RoadRunner and Laravel applications. ?? If you want to see an example of a laravel application in

Spiral Scout 328 Dec 21, 2022
(Experimental) Neos / Flow via Roadrunner

Roadrunner distribution This is an experimental distribution to run Neos / Flow via Roadrunner. Note: The Neos / Flow code currently needs patches to

Flowpack 1 May 4, 2022
FlyCubePHP is an MVC Web Framework developed in PHP and repeating the ideology and principles of building WEB applications, embedded in Ruby on Rails.

FlyCubePHP FlyCubePHP is an MVC Web Framework developed in PHP and repeating the ideology and principles of building WEB applications, embedded in Rub

Anton 1 Dec 21, 2021
Newsprint is a simple web application that will fetch the front page of a newspaper and display it on an eink display

Newsprint is a simple web application that will fetch the front page of a newspaper and display it on an eink display. The specific resolutions and sizes have been setup to work with a 32" eInk place & play display from Visionect but can be modified for other screen resolutions.

Greg Raiz 199 Dec 20, 2022
The package contains a bootstrap for running Yii3 web application.

Yii Web Runner The package contains a bootstrap for running Yii3 web application. Requirements PHP 8.0 or higher. Installation The package could be in

Yii Software 4 Oct 15, 2022
Rori-PHP is custom non production web application framework inspired by Laravel syntax

Rori-PHP is custom non production web application framework inspired by Laravel syntax. A web framework provides a structure and starting point for your application allowing you to focus on creating something amazing.

UnknownRori 5 Jul 28, 2022
Opulence is a PHP web application framework that simplifies the difficult parts of creating and maintaining a secure, scalable website.

Opulence Introduction Opulence is a PHP web application framework that simplifies the difficult parts of creating and maintaining a secure, scalable w

Opulence 733 Sep 8, 2022
🍸A Slim Web Application Template

Gracili What is Gracili? Gracili is a PHP Application Template to quickly create a new Project. Using this template can save you a lot of time. With t

Björn Pfoster 1 May 12, 2021
FrankenPHP is a modern application server for PHP built on top of the Caddy web server

FrankenPHP: Modern App Server for PHP FrankenPHP is a modern application server for PHP built on top of the Caddy web server. FrankenPHP gives superpo

Kévin Dunglas 2.8k Jan 2, 2023
A PHP framework for web artisans.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

The Laravel Framework 72k Jan 7, 2023
Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.

Slim Framework Slim is a PHP micro-framework that helps you quickly write simple yet powerful web applications and APIs. Installation It's recommended

Slim Framework 11.5k Jan 4, 2023
Low-code Framework for Web Apps in PHP

Agile UI - User Interface framework for Agile Toolkit Agile Toolkit is a Low Code framework written in PHP. Agile UI implement server side rendering e

Agile Toolkit 404 Jan 8, 2023
A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust Web applications - fast!

A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust Web applications - fast! Condensed in a single ~65KB file

Bong Cosca 2.6k Dec 30, 2022
Leaf is a PHP framework that helps you create clean, simple but powerful web apps and APIs quickly and easily.

Leaf is a PHP framework that helps you create clean, simple but powerful web apps and APIs quickly and easily. Leaf introduces a cleaner and much simpler structure to the PHP language while maintaining it's flexibility. With a simple structure and a shallow learning curve, it's an excellent way to rapidly build powerful and high performant web apps and APIs.

Leaf Framework 706 Jan 3, 2023
Woski is a fast and simple lightweight PHP Framework for building applications in the realm of the web.

Woski is a simple fast PHP framework for the Realm The Project Installation Clone the repository $ composer create-project clintonnzedimma/woski myApp

Clinton Nzedimma 19 Aug 15, 2022
A magic PHP framework. Build reactive web apps without writing HTML, CSS, or JavaScript! Powered by Tailwind, Alpine, Laravel, & Livewire.

Malzahar A magic PHP framework. Build reactive web apps without writing HTML, CSS, or JavaScript! Powered by Tailwind, Alpine, Laravel, & Livewire. Re

null 26 Nov 17, 2022
💫 Vega is a CLI mode HTTP web framework written in PHP support Swoole, WorkerMan / Vega 是一个用 PHP 编写的 CLI 模式 HTTP 网络框架,支持 Swoole、WorkerMan

Mix Vega 中文 | English Vega is a CLI mode HTTP web framework written in PHP support Swoole, WorkerMan Vega 是一个用 PHP 编写的 CLI 模式 HTTP 网络框架,支持 Swoole、Work

Mix PHP 46 Apr 28, 2022
Biny is a tiny, high-performance PHP framework for web applications

Biny is high performance. Framework comes default with response time of less than 1ms. Stand-alone QPS easily up to 3000.

Tencent 1.7k Dec 9, 2022