Thanks to visit codestin.com
Credit goes to github.com

Skip to content

LastDragon-ru/php-packages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PHP Packages

One day I found that in every of my Laravel projects I need to write/copy-paste the same code to make development more fun and make me happy. It was annoying. To avoid it in the future, I extracted most of the general code into this repository/project. Previously, the project was called "Awesome Set of Packages for Laravel". Today the project became bigger and contains packages not only for Laravel. So, I renamed it to "PHP Projects".

Laravel's packages are still here, and still prefixed via lara-asp-*. Projects without this prefix are fully independent of Laravel and "illuminate/*" packages.

Packages

🐝 Package intended to use in dev.

This package contains useful utilities and classes.

Read more.

This package provides various utilities for documentation generation such as Markdown Preprocessor, Requirements Dumper and more.

Read more.

This package contains useful extensions and mixins for Eloquent.

Read more.

This package provides highly powerful @searchBy, @sortBy, @stream directives for lighthouse-php. The @searchBy directive provides basic conditions like =, >, <, etc, relations, not (<condition>), enums, and custom operators support. All are strictly typed so you no need to use Mixed type anymore. The @sortBy is not only about standard sorting by columns but also allows use relations. 😎

Read more.

Useful assertions for PHPUnit to check printed/exported type/queries and more with lastdragon-ru/lara-asp-graphql package

Read more.

This package provides a customizable wrapper around Intl formatters to use it inside Laravel application. And also allows defining your own formats.

Read more.

This package improves standard Laravel migrations to add support for raw SQL files during migration and seeding. So you can easily use your favorite visual tool for database development like MySQL Workbench with Laravel πŸ₯³

Read more.

Read more.

This package provides a customizable wrapper around the Symfony Serializer Component to use it inside Laravel application.

Read more.

This package provides various useful asserts for PHPUnit and better solution for HTTP tests - testing HTTP response has never been so easy! And this not only about TestResponse but any PSR response 😎

Read more.

Full-featured well-tested glob pattern parser and matcher: basic matching (?, *), globstar (**), extglob (?(pattern-list), *(pattern-list), +(pattern-list), @(pattern-list), !(pattern-list)), brace expansion ({a,b,c}.txt, {1..3}.txt, etc), dotglob, nocasematch, POSIX Named character classes ([:alnum:], etc), POSIX Collating symbols ([.ch.], etc), POSIX Equivalence class expressions ([=a=], etc), and escaping. Everything supported 😎

Read more.

The package allows you to print GraphQL Schema and Queries in a highly customized way eg you can choose indent size, print only used/wanted/all types, print only one type, print used/wanted/all directives (it is not possible with standard printer) and even check which types/directives are used in the Schema/Query.

Read more.

Provides utilities for working with file and directory paths in an object-oriented way for all path types.

Read more.

Various useful assertions/extensions for PHPUnit.

Read more.

PHPUnit assertions for GraphQL to check printed/exported type/queries.

Read more.

PHPUnit XML / XML Schema assertions.

Read more.

There are several tools to generate full-featured parsers even for PHP. They are overkill when you just need to parse something simple. In such cases, you might decide to create your own parser. There are a lot of articles/examples on the web, and actually it is not too difficult as you may think. This is yet another package to simplify writing fast and memory-effective parsers that can parse infinite strings.

Read more.

Support policy

Project following to the semver including parameter names, but except code marked as private/@internal.

  • Self
    • main branch - new features and any Breaking Changes (non BC things can be back-ported to the last stable)
    • current stable - bug fixes
    • previous stable - PRs with bug fixes will be accepted if no BC
  • PHP - last two active versions (eg 8.3 and 8.4)
  • Laravel - last version
  • Lighthouse - last version

Requirements

Requirement Constraint Supported by
PHP ^8.4 HEAD β‹― 8.0.0
^8.3 HEAD β‹― 5.0.0
^8.2 7.2.0 β‹― 2.0.0
^8.1 6.4.2 β‹― 2.0.0
^8.0 4.6.0 β‹― 2.0.0
^8.0.0 1.1.2 β‹― 0.12.0
>=8.0.0 0.11.0 β‹― 0.4.0
>=7.4.0 0.3.0 β‹― 0.1.0
Laravel ^12.0.1 HEAD β‹― 9.0.0
^11.0.8 8.1.1 β‹― 8.0.0
^11.0.0 7.2.0 β‹― 6.2.0
^10.34.0 7.2.0 β‹― 6.2.0
^10.0.0 6.1.0 β‹― 2.1.0
^9.21.0 5.6.0 β‹― 5.0.0-beta.1
^9.0.0 5.0.0-beta.0 β‹― 0.12.0
^8.22.1 3.0.0 β‹― 0.2.0
^8.0 0.1.0

Upgrading

Please follow Upgrade Guide.

Development

  1. Fork & clone
  2. 1# docker compose up (in the first terminal)
  3. 2# docker-compose exec app bash (in the second terminal)
  4. Write the code
  5. 2# composer run validate:commit
  6. 2# composer run rebuild:docs (if docs changed)
  7. Push & PR
  8. ...
  9. Enjoy

Legend

Icon Place Description
πŸ§ͺ Docs Experimental feature. Any feedback would be greatly appreciated.
🐝 Docs Package intended to use in dev.
🀝 Docs Backward-compatible change.
πŸ’€ Docs Deprecated feature.
👹 CI The highest versions of dependencies are used.
πŸ”’ CI The locked versions of dependencies are used.
👻 CI The lowest versions of dependencies are used.
πŸͺ“ CI The optional dependencies are removed.
πŸ†„ CI Running on Ubuntu
πŸ†† CI Running on Windows
πŸ…Ό CI Running on Mac OS X