Generate random typed values and in any shape.

Related tags

Laravel generators
Overview

Latest Stable Version GitHub stars Total Downloads GitHub Workflow Status Scrutinizer code quality Type Coverage Code Coverage Mutation testing badge License Donate!

PHP Typed Generators

Description

Generate random typed values and in any shape.

Useful for writing your tests, there's no need to write static set of typed values, you can now generate them using this tool.

Each generated random values or shape is fully typed and can safely be used by existing static analysis tools such as PHPStan or PSalm.

Installation

composer require loophp/typed-generators

Usage

This library has a single entry point class factory. By using a single factory class, the user is able to quickly instantiate objects and use auto-completion.

Find the complete API directly in the TG class.

Quick API overview

<?php

declare(strict_types=1);

namespace Snippet;

use loophp\TypedGenerators\TypeGeneratorFactory as TG;

include __DIR__ . '/vendor/autoload.php';

$arrays    = TG::array(TG::string(), TG::string());
$arrayKeys = TG::arrayKey();
$booleans  = TG::bool();
$closures  = TG::closure();
$compounds = TG::compound(TG::bool(), TG::int());
$customs   = TG::custom(TG::string(), static fn (): string => 'bar');
$datetimes = TG::datetime();
$faker     = TG::faker(TG::string(), static fn (Faker\Generator $faker): string => $faker->city());
$floats    = TG::float();
$integers  = TG::int();
$iterators = TG::iterator(TG::bool(), TG::string());
$lists     = TG::list(TG::string());
$negatives = TG::negativeInt();
$nulls     = TG::null();
$nullables = TG::nullable(TG::string());
$numerics  = TG::numeric();
$objects   = TG::object();
$positives = TG::positiveInt();
$statics   = TG::static(TG::string(), 'foo');
$strings   = TG::string();
$uniqids   = TG::uniqid();

Generate list of values

<?php

declare(strict_types=1);

namespace Snippet;

use loophp\TypedGenerators\TypeGeneratorFactory as TG;

include __DIR__ . '/vendor/autoload.php';

$strings = TG::string();       // Generate strings

foreach ($strings as $string) {
    var_dump($string);         // Random string generated
}

echo $strings();               // Print one random string

Generate KeyValue pairs

<?php

declare(strict_types=1);

namespace Snippet;

use loophp\TypedGenerators\TypeGeneratorFactory as TG;

include __DIR__ . '/vendor/autoload.php';

$iteratorStringBool = TG::iterator(
    TG::string(),       // Keys: Generate strings for keys
    TG::bool()          // Values: Generate booleans for values
);

foreach ($iteratorStringBool() as $key => $value) {
    var_dump($key, $value);   // Random string for key, random boolean for value.
}

Integration with Faker

<?php

declare(strict_types=1);

namespace Snippet;

use Faker\Generator;
use loophp\TypedGenerators\TypeGeneratorFactory as TG;

include __DIR__ . '/vendor/autoload.php';

$fakerType = TG::faker(
    TG::string(),
    fn (Generator $faker): string => $faker->city()
);

$iterator = TG::iterator(
    TG::string(4), // Keys: A random string of length 4
    $fakerType     // Values: A random city name
);

foreach ($iterator() as $key => $value) {
    var_dump($key, $value);
}

Use random compound values

Compound values are values that can be either of type A or type B.

<?php

declare(strict_types=1);

namespace Snippet;

use Faker\Generator;
use loophp\TypedGenerators\TypeGeneratorFactory as TG;

include __DIR__ . '/vendor/autoload.php';

$fakerType = TG::faker(
    TG::string(),
    fn (Generator $faker): string => $faker->firstName()
);

$iterator = TG::iterator(
    TG::bool(),    // Keys: A random boolean
    TG::compound(  // Values: A random compound value which can be
        $fakerType,// either a firstname
        TG::int()  // either an integer.
    )
);

foreach ($iterator() as $key => $value) {
    var_dump($key, $value);
}

Generate a complex typed array shape

<?php

declare(strict_types=1);

namespace Snippet;

use Faker\Generator;
use loophp\TypedGenerators\TypeGeneratorFactory as TG;

include __DIR__ . '/vendor/autoload.php';

$iterator = TG::array(TG::static(TG::string(), 'id'), TG::int(6))
    ->add(
        TG::static(TG::string(), 'uuid'),
        TG::uniqid()
    )
    ->add(
        TG::static(TG::string(), 'firstName'),
        TG::faker(
            TG::string(),
            static fn (Generator $faker): string => $faker->firstName()
        )
    )
    ->add(
        TG::static(TG::string(), 'country'),
        TG::faker(
            TG::string(),
            static fn (Generator $faker): string => $faker->country()
        )
    )
    ->add(
        TG::static(TG::string(), 'isCitizen'),
        TG::bool()
    )
    ->add(
        TG::static(TG::string(), 'hometowm'),
        TG::faker(
            TG::string(),
            static fn (Generator $faker): string => $faker->city()
        )
    )
    ->add(
        TG::static(TG::string(), 'lastSeen'),
        TG::datetime()
    );

foreach ($iterator as $k => $v) {
    // \PHPStan\dumpType($v);
    /** @psalm-trace $v */
    print_r($v);
}

This example will produce such arrays:

Array
(
    [id] => 545327499
    [uuid] => 629f7198091ee
    [firstName] => Sandra
    [country] => Sardinia
    [isCitizen] => 1
    [hometowm] => Ecaussinnes
    [lastSeen] => DateTimeImmutable Object
        (
            [date] => 2009-06-02 07:40:37.000000
            [timezone_type] => 3
            [timezone] => UTC
        )
)
Array
(
    [id] => 623241523
    [uuid] => 629f719809290
    [firstName] => Paolo
    [country] => Sicily
    [isCitizen] =>
    [hometowm] => Quaregnon
    [lastSeen] => DateTimeImmutable Object
        (
            [date] => 1989-11-11 16:22:02.000000
            [timezone_type] => 3
            [timezone] => UTC
        )
)

Analyzing the $iterator variable with PSalm and PHPStan will give:

$ ./vendor/bin/phpstan analyse --level=9 test.php
 1/1 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

 ------ --------------------------------------------------------
  Line   test.php
 ------ --------------------------------------------------------
  45     Dumped type: array<string, bool|DateTimeInterface|int|string>
 ------ --------------------------------------------------------

With PSalm:

$ ./vendor/bin/psalm --show-info=true --no-cache test.php
Target PHP version: 7.4 (inferred from composer.json)
Scanning files...
Analyzing files...

I

INFO: Trace - test.php:46:5 - $v: array<string, DateTimeInterface|bool|int|string> (see https://psalm.dev/224)

Code quality, tests, benchmarks

Every time changes are introduced into the library, Github runs the tests.

The library has tests written with PHPUnit. Feel free to check them out in the tests directory.

Before each commit, some inspections are executed with GrumPHP; run composer grumphp to check manually.

The quality of the tests is tested with Infection a PHP Mutation testing framework - run composer infection to try it.

Static analyzers are also controlling the code. PHPStan and PSalm are enabled to their maximum level.

Contributing

Feel free to contribute by sending pull requests. We are a usually very responsive team and we will help you going through your pull request from the beginning to the end.

For some reasons, if you can't contribute to the code and willing to help, sponsoring is a good, sound and safe way to show us some gratitude for the hours we invested in this package.

Sponsor me on Github and/or any of the contributors.

Changelog

See CHANGELOG.md for a changelog based on git commits.

For more detailed changelogs, please check the release changelogs.

Comments
  • Bump actions/stale from 5 to 6

    Bump actions/stale from 5 to 6

    Bumps actions/stale from 5 to 6.

    Release notes

    Sourced from actions/stale's releases.

    v6.0.0

    :warning: Breaking change :warning:

    Issues/PRs default close-issue-reason is now not_planned(#789)

    V5.2.0

    Features: New option include-only-assigned enables users to process only issues/PRs that are already assigned. If there is no assignees and this option is set, issue will not be processed per: issue/596

    Fixes: Fix date comparison edge case PR/816

    Dependency Updates: PR/812

    Fix issue when days-before-close is more than days-before-stale

    fixes a bug introduced in #717

    fixed in #775

    v5.1.0

    [5.1.0]

    Don't process stale issues right after they're marked stale Add close-issue-reason option #764#772 Various dependabot/dependency updates

    Changelog

    Sourced from actions/stale's changelog.

    Changelog

    [6.0.0]

    :warning: Breaking change :warning:

    Issues/PRs default close-issue-reason is now not_planned(#789)

    [5.1.0]

    Don't process stale issues right after they're marked stale [Add close-issue-reason option]#764#772 Various dependabot/dependency updates

    4.1.0 (2021-07-14)

    Features

    4.0.0 (2021-07-14)

    Features

    Bug Fixes

    • dry-run: forbid mutations in dry-run (#500) (f1017f3), closes #499
    • logs: coloured logs (#465) (5fbbfba)
    • operations: fail fast the current batch to respect the operations limit (#474) (5f6f311), closes #466
    • label comparison: make label comparison case insensitive #517, closes #516
    • filtering comments by actor could have strange behavior: "stale" comments are now detected based on if the message is the stale message not who made the comment(#519), fixes #441, #509, #518

    Breaking Changes

    • The options skip-stale-issue-message and skip-stale-pr-message were removed. Instead, setting the options stale-issue-message and stale-pr-message will be enough to let the stale workflow add a comment. If the options are unset, a comment will not be added which was the equivalent of setting skip-stale-issue-message to true.
    • The operations-per-run option will be more effective. After migrating, you could face a failed-fast process workflow if you let the default value (30) or set it to a small number. In that case, you will see a warning at the end of the logs (if enabled) indicating that the workflow was stopped sooner to avoid consuming too much API calls. In most cases, you can just increase this limit to make sure to process everything in a single run.
    Commits

    Dependabot compatibility score

    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 stale github_actions 
    opened by dependabot[bot] 2
  • Bump shivammathur/setup-php from 2.18.1 to 2.21.2

    Bump shivammathur/setup-php from 2.18.1 to 2.21.2

    Bumps shivammathur/setup-php from 2.18.1 to 2.21.2.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.21.2

    Support Ukraine


    • Added support for rector in tools input. #627
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.1
        tools: rector
    
    • Added support for ast extension on macOS using shivammathur/extensions tap.
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.1
        extensions: ast
    
    • Fixed support for symfony-cli on Linux #632
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.1
        tools: symfony
    
    • Fixed installing unstable extensions from PECL. #625
    • Updated Node.js dependencies.

    2.21.1

    Support Ukraine

    ... (truncated)

    Commits
    • e04e1d9 Bump Node.js dependencies
    • 52685a3 Add support to install rector in tools input
    • 44d81f9 Fix symfony support
    • 401bdec Add support for ast from shivammathur/extensions on macOS
    • aa82ffc Fix logs in add_pecl_extension
    • 7e03c76 Fix extension setup using PECL on Linux and macOS
    • 16011a7 Upgrade Node.js dependencies
    • 66f2447 Fix reading composer package type for older versions
    • e57ea71 Fix scoped tool setup on Windows
    • e8ba27f Fail on npm audit again
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 stale github_actions 
    opened by dependabot[bot] 2
  • Bump shivammathur/setup-php from 2.18.1 to 2.21.1

    Bump shivammathur/setup-php from 2.18.1 to 2.21.1

    Bumps shivammathur/setup-php from 2.18.1 to 2.21.1.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.21.1

    Support Ukraine


    • Fixed installing tools' old versions which are composer plugins.

    • Updated Node.js dependencies.


    2.21.0

    Support Ukraine


    • Added support for Laravel Pint #613, #614
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: `8.1`
        tools: pint
    
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: `8.1`
        extensions: phalcon5
    
    • Added support for Private Packagist authentication for composer. Docs

    ... (truncated)

    Commits
    • 16011a7 Upgrade Node.js dependencies
    • 66f2447 Fix reading composer package type for older versions
    • e57ea71 Fix scoped tool setup on Windows
    • e8ba27f Fail on npm audit again
    • 945c34c Update README
    • c8c64c6 Bump version to 2.21.0
    • 0d3f92f Add support for phalcon5 on Windows
    • 4979d5b Add workaround for missing phalcon packages on Ubuntu 22.04
    • 0d9a1ba Add support for phalcon5 on Linux and macOS
    • 3ede765 Add check for gd in php.yml
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 stale github_actions 
    opened by dependabot[bot] 2
  • Bump shivammathur/setup-php from 2.18.1 to 2.21.0

    Bump shivammathur/setup-php from 2.18.1 to 2.21.0

    Bumps shivammathur/setup-php from 2.18.1 to 2.21.0.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.21.0

    Support Ukraine


    • Added support for Laravel Pint #613, #614
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: `8.1`
        tools: pint
    
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: `8.1`
        extensions: phalcon5
    
    • Added support for Private Packagist authentication for composer. Docs
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.1'
      env:
        PACKAGIST_TOKEN: ${{ secrets.PACKAGIST_TOKEN }}
    
    • Added support for manual JSON-based authentication for composer Docs
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.1'
      env:
        COMPOSER_AUTH_JSON: |
          {
            "http-basic": {
              "example.org": {
    </tr></table> 
    

    ... (truncated)

    Commits
    • 945c34c Update README
    • c8c64c6 Bump version to 2.21.0
    • 0d3f92f Add support for phalcon5 on Windows
    • 4979d5b Add workaround for missing phalcon packages on Ubuntu 22.04
    • 0d9a1ba Add support for phalcon5 on Linux and macOS
    • 3ede765 Add check for gd in php.yml
    • f3cdc07 Merge pull request #617 from ChristophWurst/demo/php82-gd
    • 109db64 Demo PHP8.2+gd failure
    • 3ccc00e Merge pull request #614 from d8vjork/master
    • 0f688a1 Add support for tool Laravel Pint
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 stale github_actions 
    opened by dependabot[bot] 2
  • Bump shivammathur/setup-php from 2.18.1 to 2.20.1

    Bump shivammathur/setup-php from 2.18.1 to 2.20.1

    Bumps shivammathur/setup-php from 2.18.1 to 2.20.1.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.20.1

    Support Ukraine



    2.20.0

    Support Ukraine


    • Improved support for event extension on Linux and macOS for PHP 5.4 and above. #604

    • Fixed support for composer plugins in tools input. Since composer 2.2, the plugins are required to be marked as allowed in the composer config. This will now be done by default. #611

    • Added support to show code coverage driver's (Xdebug/PCOV) version in the logs when setup using the coverage input. #610

    • Fixed a bug where PHP was not added to PATH during the action run on self-hosted Windows environments. #609

    • Fixed a bug where the tool cache path was not set on self-hosted environments. #606

    • Updated Node.js dependencies.


    Thanks! @​jrfnl, @​dino182 and @​markseuffert for the contributions 🚀

    ... (truncated)

    Commits
    • 3312ea6 Bump version to 2.20.1
    • ce49f82 Do not add composer plugins to allow list for composer v1
    • cf5cd90 Improve support for composer authenticating private respositories
    • cdb037c Bump version to 2.20.0
    • 261f13a Add composer plugins to allow list before installing
    • 9eaa66d Add support for event extension on unix
    • da9dfe4 Set RUNNER_TOOL_CACHE on self-hosted environments
    • a863ab6 Add support to allow composer plugins
    • 050cb80 Add coverage driver version in logs
    • 3fda17f Merge pull request #609 from dino182/develop
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 stale github_actions 
    opened by dependabot[bot] 2
  • Bump shivammathur/setup-php from 2.18.1 to 2.19.1

    Bump shivammathur/setup-php from 2.18.1 to 2.19.1

    Bumps shivammathur/setup-php from 2.18.1 to 2.19.1.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.19.1

    Support Ukraine


    • Fixed support for deployer.

    • Updated Node.js dependencies.


    2.19.0

    Support Ukraine


    • Added support for ubuntu-22.04 runner. Docs

    • Added support for Couchbase extension 4.x for PHP 7.4 and above. Also added support to specify the extension version you need. shivammathur/setup-php#593

      Note: Please use the extensions cache if using the latest Couchbase version on Linux as it can take 10+ minutes to build along with its library.

      To install the latest version of couchbase extension

      - name: Setup PHP
        uses: shivammathur@setup-php@v2
        with:
          php-version: '8.1'
          extensions: couchbase
      

      To install a specific version - suffix couchbase with exact version you want in the extensions input.

      - name: Setup PHP
        uses: shivammathur@setup-php@v2
        with:
          php-version: '7.4'
      

    ... (truncated)

    Commits
    • 3eda583 Bump version to 2.19.1
    • 74d43be Fix support for deployer
    • aa1fe47 Bump version to 2.19.0
    • a92acf1 Remove years from LICENSE
    • 0533892 Fix jsdoc in fetch.ts
    • 43fb4ad Bump ES version to 2021
    • b88a8c8 Fix protoc support
    • 36d7f6c Set target-branch to develop in dependabot.yml
    • a1a52db Merge pull request #598 from shivammathur/dependabot/github_actions/codecov/c...
    • 88e54b1 Merge pull request #599 from shivammathur/dependabot/github_actions/github/co...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 stale github_actions 
    opened by dependabot[bot] 2
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • composer.json (composer)
    • .github/workflows/benchmarks.yml (github-actions)
    • .github/workflows/code-style.yml (github-actions)
    • .github/workflows/mutation-tests.yml (github-actions)
    • .github/workflows/prune.yaml (github-actions)
    • .github/workflows/release.yaml (github-actions)
    • .github/workflows/static-analysis.yml (github-actions)
    • .github/workflows/tests.yml (github-actions)

    Configuration

    🔡 Renovate has detected a custom config for this PR. Feel free to ask for help if you have any doubts and would like it reviewed.

    Important: Now that this branch is edited, Renovate can't rebase it from the base branch any more. If you make changes to the base branch that could impact this onboarding PR, please merge them manually.

    What to Expect

    With your current configuration, Renovate will create 1 Pull Request:

    chore(deps): update actions/stale action to v6
    • Schedule: ["at any time"]
    • Branch name: renovate/actions-stale-6.x
    • Merge into: main
    • Upgrade actions/stale to v6

    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    stale 
    opened by renovate[bot] 1
  • Bump shivammathur/setup-php from 2.18.1 to 2.22.0

    Bump shivammathur/setup-php from 2.18.1 to 2.22.0

    Bumps shivammathur/setup-php from 2.18.1 to 2.22.0.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.22.0

    Support Ukraine


    - name: Setup PHP with debugging symbols
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.1'
      env:
        debug: true 
    
    - name: Setup PHP with intl
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.1'
        extensions: intl-72.1
    
    • Existing PHP version on GitHub actions Ubuntu images is now updated if ppa:ondrej/php is missing regardless of the updateactions/runner-images#6331

    • Environment variable COMPOSER_NO_AUDIT is now set by default. If you would like to run the composer audit in your workflows, please add a step with composer audit command. (#635, #636)

    - name: Composer audit
      run: composer audit
    
    • Switched to GITHUB_OUTPUT environment file for setting up outputs. If you are using setup-php on self-hosted runners, please update it to 2.297.0 or greater. More Info (#654)

    • Updated sqlsrv and pdo_sqlsrv version to 5.10.1 for PHP 7.0 and above on Linux.

    • Improved support for phalcon5 extension to set up the latest stable version.

    • Improved symfony-cli support to fetch the artifact URL from the brew tap on Linux. (#641, #652, #653)

    • Improved fetching brew taps on Linux to avoid brew's overhead.

    • Fixed installing extension packages on self-hosted Linux runners. (#642)

    • Fixed support for couchbase and firebird extensions after GitHub release page changes.

    ... (truncated)

    Commits
    • 1a18b22 Add note about updating PHP if ppa is missing on Ubuntu
    • e970483 Update Node.js dependencies
    • 5178fac Update PHP if ppa:ondrej/php is missing ref: actions/runner-images#6331
    • 388883d Fix support for firebird and couchbase
    • cae6d06 Improve phalcon support
    • 89f4f7e Run configure_pecl only when ini_files are set
    • d2efbcd Fix debug support on Linux
    • 98e3af0 Configure brew on linux on grpc_php_plugin setup
    • e8836c6 Fix logs on failure in add_pecl_extension
    • 9068f2e Update sqlsrv and pdo_sqlsrv to 5.10.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 github_actions 
    opened by dependabot[bot] 1
  • Bump shivammathur/setup-php from 2.18.1 to 2.20.0

    Bump shivammathur/setup-php from 2.18.1 to 2.20.0

    Bumps shivammathur/setup-php from 2.18.1 to 2.20.0.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.20.0

    Support Ukraine


    • Improved support for event extension on Linux and macOS for PHP 5.4 and above. #604

    • Fixed support for composer plugins in tools input. Since composer 2.2, the plugins are required to be marked as allowed in the composer config. This will now be done by default. #611

    • Added support to show code coverage driver's (Xdebug/PCOV) version in the logs when setup using the coverage input. #610

    • Fixed a bug where PHP was not added to PATH during the action run on self-hosted Windows environments. #609

    • Fixed a bug where the tool cache path was not set on self-hosted environments. #606

    • Updated Node.js dependencies.


    Thanks! @​jrfnl, @​dino182 and @​markseuffert for the contributions 🚀

    2.19.1

    Support Ukraine


    • Fixed support for deployer.

    • Updated Node.js dependencies.


    ... (truncated)

    Commits
    • cdb037c Bump version to 2.20.0
    • 261f13a Add composer plugins to allow list before installing
    • 9eaa66d Add support for event extension on unix
    • da9dfe4 Set RUNNER_TOOL_CACHE on self-hosted environments
    • a863ab6 Add support to allow composer plugins
    • 050cb80 Add coverage driver version in logs
    • 3fda17f Merge pull request #609 from dino182/develop
    • 1a2cb4f Fix Add-Path for self-hosted Windows
    • 4969814 Merge pull request #607 from markseuffert/patch-1
    • 07f2ea7 Updated documentation, review
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 github_actions 
    opened by dependabot[bot] 1
  • Bump shivammathur/setup-php from 2.18.1 to 2.19.0

    Bump shivammathur/setup-php from 2.18.1 to 2.19.0

    Bumps shivammathur/setup-php from 2.18.1 to 2.19.0.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.19.0

    Support Ukraine


    • Added support for ubuntu-22.04 runner. Docs

    • Added support for Couchbase extension 4.x for PHP 7.4 and above. Also added support to specify the extension version you need. shivammathur/setup-php#593

      Note: Please use the extensions cache if using the latest Couchbase version on Linux as it can take 10+ minutes to build along with its library.

      To install the latest version of couchbase extension

      - name: Setup PHP
        uses: shivammathur@setup-php@v2
        with:
          php-version: '8.1'
          extensions: couchbase
      

      To install a specific version - suffix couchbase with exact version you want in the extensions input.

      - name: Setup PHP
        uses: shivammathur@setup-php@v2
        with:
          php-version: '7.4'
          extensions: couchbase-2.6.2
      
    • Improved fallback support upon cache failure in composer setup. This fixes an error when the latest composer version was installed on older PHP versions when fetching composer from shivammathur/composer-cache failed.

    • Bumped Node.js version required to 16.x. Also bumped build target version to ES2021.

    • Removed support for Debian 9 and Ubuntu 21.04 for self-hosted runners. Docs

    • Fixed tools setup with older composer versions which do not create composer.json if missing in the directory.

    • Fixed support for extensions on macOS where the extension package name might conflict with package names in homebrew-core repo. This fixes support for redis extension on macOS on PHP 7.0.

    • Fixed enabling cached extensions which depend on other extensions on PHP 7.1 and lower.

    • Fixed setting default INI values so that it is possible to override those using php -c. shivammathur/setup-php#595

    ... (truncated)

    Commits
    • aa1fe47 Bump version to 2.19.0
    • a92acf1 Remove years from LICENSE
    • 0533892 Fix jsdoc in fetch.ts
    • 43fb4ad Bump ES version to 2021
    • b88a8c8 Fix protoc support
    • 36d7f6c Set target-branch to develop in dependabot.yml
    • a1a52db Merge pull request #598 from shivammathur/dependabot/github_actions/codecov/c...
    • 88e54b1 Merge pull request #599 from shivammathur/dependabot/github_actions/github/co...
    • 203099e Merge pull request #600 from shivammathur/dependabot/github_actions/actions/s...
    • 4e9ea33 Bump actions/setup-node from 1 to 3
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 
    opened by dependabot[bot] 1
  • chore(deps): update actions/stale action to v7

    chore(deps): update actions/stale action to v7

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/stale | action | major | v6 -> v7 |


    Release Notes

    actions/stale

    v7

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Bump shivammathur/setup-php from 2.22.0 to 2.23.0

    Bump shivammathur/setup-php from 2.22.0 to 2.23.0

    Bumps shivammathur/setup-php from 2.22.0 to 2.23.0.

    Release notes

    Sourced from shivammathur/setup-php's releases.

    2.23.0

    Support Ukraine


    • Added support for nightly builds of PHP 8.3. Note: Specifying nightly as the php-version now will set up PHP 8.3.
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.3'
    
    • PHP 8.2 is now stable on setup-php. #673 Notes:
      • Specifying latest or 8.x as the php-version now will set up PHP 8.2.
      • Except ubuntu-22.04, all GitHub runners now have PHP 8.2 as the default version.
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.2'
    
    • Added support for thread-safe builds of PHP on Linux. #651
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.2'
      env:
        phpts: ts
    

    ... (truncated)

    Commits
    • 8e2ac35 Update README
    • a1e6789 Improve Get-PhalconReleaseAssetUrl
    • 9114b00 Restore stability workaround for PHP 8.1 on Windows
    • cb0c293 Fix typo in blackfire regex on Windows
    • 387ec95 Improve fetching phalcon release url on Windows
    • 3514d30 Allow major.minor protoc versions
    • e186e47 Bump version to 2.23.0
    • e51e662 Add support to install extensions from shivammathur/php-extensions-windows
    • 5afd8a1 Fix error in darwin.sh while updating dependencies
    • 1a42045 Use ls-remote to get default branch
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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 stale github_actions 
    opened by dependabot[bot] 2
  • chore(deps): update shivammathur/setup-php action to v2.23.0

    chore(deps): update shivammathur/setup-php action to v2.23.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | shivammathur/setup-php | action | minor | 2.22.0 -> 2.23.0 |


    Release Notes

    shivammathur/setup-php

    v2.23.0

    Compare Source

    Support Ukraine

    #StandWithUkraine


    • Added support for nightly builds of PHP 8.3. Note: Specifying nightly as the php-version now will set up PHP 8.3.
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.3'
    
    • PHP 8.2 is now stable on setup-php. #​673 Notes:
      • Specifying latest or 8.x as the php-version now will set up PHP 8.2.
      • Except ubuntu-22.04, all GitHub runners now have PHP 8.2 as the default version.
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.2'
    
    • Added support for thread-safe builds of PHP on Linux. #​651
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.2'
      env:
        phpts: ts
    

    Full Changelog: https://github.com/shivammathur/setup-php/compare/2.22.0...2.23.0

    Merry Christmas and happy holidays! 🎄🎁

    Thanks! @​jrfnl and @​flavioheleno for the contributions 🎉

    Follow for updates

    setup-php reddit setup-php twitter setup-php status


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    stale 
    opened by renovate[bot] 2
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    composer
    composer.json
    • php >= 7.4
    • drupol/php-conventions ^5
    • fakerphp/faker ^1.19
    • infection/infection ^0.26
    • phpbench/phpbench ^1.2
    • phpstan/phpstan-phpunit ^1.1
    • phpstan/phpstan-strict-rules ^1.0
    • phpunit/php-code-coverage ^9.2
    • phpunit/phpunit ^9.5
    • symfony/var-dumper ^6.1
    github-actions
    .github/workflows/benchmarks.yml
    • shivammathur/setup-php 2.22.0
    • actions/cache v3
    • actions/checkout v3
    • actions/checkout v3
    .github/workflows/code-style.yml
    • actions/checkout v3
    • shivammathur/setup-php 2.22.0
    • actions/cache v3
    .github/workflows/mutation-tests.yml
    • actions/checkout v3
    • shivammathur/setup-php 2.22.0
    • actions/cache v3
    .github/workflows/prune.yaml
    • actions/stale v7
    .github/workflows/release.yaml
    • actions/checkout v3
    • mindsers/changelog-reader-action v2
    • actions/create-release v1.1.4
    .github/workflows/static-analysis.yml
    • actions/checkout v3
    • shivammathur/setup-php 2.22.0
    • actions/cache v3
    .github/workflows/tests.yml
    • actions/checkout v3
    • shivammathur/setup-php 2.22.0
    • actions/cache v3

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    stale 
    opened by renovate[bot] 4
Owner
(infinite) loophp
(infinite) loophp
⚙️Laravel Nova Resource for a simple key/value typed setting

Laravel Nova Resource for a simple key/value typed setting Administer your Laravel Simple Setting in Nova Pre-requisites This Nova resource package re

elipZis 5 Nov 7, 2022
⚙️Simple key/value typed settings for your Laravel app with synchronized json export

Simple key/value typed settings for your Laravel app Create, store and use key/value settings, typed from numbers over dates to array, cached for quic

elipZis 8 Jan 7, 2023
Random Anime Pictures And Quotes Rest API, Toshino Kyoko.

Toshino Kyoko Toshinou Kyouko is the founder of the amusement club. Goes so wild that no one can keep up with her, but it's not as if anyone even trie

Rei. 21 Jan 1, 2023
A laravel Livewire Dynamic Selects with multiple selects depending on each other values, with infinite levels and totally configurable.

Livewire Combobox: A dynamic selects for Laravel Livewire A Laravel Livewire multiple selects depending on each other values, with infinite levels of

Damián Aguilar 25 Oct 30, 2022
Automatically encrypt and decrypt Laravel 5 Eloquent values

Eloquent Encryption/Decryption for Laravel 5 Automatically encrypt and decrypt Laravel 5 Eloquent values. READ THIS FIRST Encrypted values are usually

Del 85 Mar 19, 2022
A Laravel package that allows you to validate your config values and environment.

Table of Contents Overview Installation Requirements Install the Package Publishing the Default Rulesets Usage Creating a Validation Ruleset Using the

Ash Allen 152 Dec 15, 2022
Boilerplate code for protecting a form with proof of work. Uses javascript in the browser to generate the hashcash and PHP on the server to generate the puzzle and validate the proof of work.

Boilerplate code for protecting a form with proof of work. Uses javascript in the browser to generate the hashcash and PHP on the server to generate the puzzle and validate the proof of work.

Jameson Lopp 28 Dec 19, 2022
Library for generating random names (for table-top roleplaying games)

RPG-Name-Generator The RPG character name generator library is designed to create list of random names used for table-top role-playing games. This lib

Florent Genette 2 Sep 24, 2022
Update multiple Laravel Model records, each with it's own set of values, sending a single query to your database!

Laravel Mass Update Update multiple Laravel Model records, each with its own set of values, sending a single query to your database! Installation You

Jorge González 88 Dec 31, 2022
A Laravel 8 Project Implement with GraphQL With Sanctum APIs Authentications Which utilized in Any Frontend or Any Mobile Application Programs.

A Laravel 8 Project Implement with GraphQL With Sanctum APIs Authentications Which utilized in Any Frontend or Any Mobile Application Programs.

Vikas Ukani 3 Jan 6, 2022
This package provides a trait that will generate a unique uuid when saving any Eloquent model.

Generate slugs when saving Eloquent models This package provides a trait that will generate a unique uuid when saving any Eloquent model. $model = new

Abdul Kudus 2 Oct 14, 2021
Helps to generate participation Certificate to clubs, chapter or any organisation

Certificate_Generator Helps to generate participation Certificate to clubs, chapter or any organisation. Has PHP as a backend and FPHP class for pdf c

Anuj Kumar Sahu 0 Dec 15, 2022
Generate trends for your models. Easily generate charts or reports.

Laravel Trend Generate trends for your models. Easily generate charts or reports. Support us Like our work? You can support us by purchasing one of ou

Flowframe 139 Dec 27, 2022
Laravel package to generate and to validate a UUID according to the RFC 4122 standard. Only support for version 1, 3, 4 and 5 UUID are built-in.

Laravel Uuid Laravel package to generate and to validate a universally unique identifier (UUID) according to the RFC 4122 standard. Support for versio

Christoph Kempen 1.7k Dec 28, 2022
Otpify is a Laravel package that provides a simple and elegant way to generate and validate one time passwords.

Laravel Otpify ?? Introduction Otpify is a Laravel package that provides a simple and elegant way to generate and validate one time passwords. Install

Prasanth Jayakumar 2 Sep 2, 2022
cybercog 996 Dec 28, 2022
🖖Repository Pattern in Laravel. The package allows to filter by request out-of-the-box, as well as to integrate customized criteria and any kind of filters.

Repository Repository Pattern in Laravel. The package allows to filter by request out-of-the-box, as well as to integrate customized criteria and any

Awes.io 160 Dec 26, 2022
A Laravel Wrapper for the CoinDCX API. Now easily connect and consume the CoinDCX Public API in your Laravel apps without any hassle.

This package provides a Laravel Wrapper for the CoinDCX API and allows you to easily communicate with it. Important Note This package is in early deve

Moinuddin S. Khaja 2 Feb 16, 2022
Generate and autoload custom Helpers, Builder Scope, Service class, Trait

laravel-make-extender Generate and autoload custom helpers, It can generate multilevel helpers in the context of the directory. Generate Service class

Limewell 30 Dec 24, 2022