From a2a07e347c4befc5c65a4a7f986ab36f1da23135 Mon Sep 17 00:00:00 2001 From: Joshua Estes Date: Thu, 12 Sep 2024 02:52:57 +0000 Subject: [PATCH] GITBOOK-9: No subject --- docs/.gitbook/assets/top-rocker.png | Bin 0 -> 18037 bytes docs/README.md | 55 +++---- docs/SUMMARY.md | 27 ++-- docs/bard/commands.md | 45 ++++++ docs/bard/{bard-overview.md => overview.md} | 0 docs/components/assert.md | 66 ++++++++ docs/components/{cache.md => cache/README.md} | 6 +- docs/components/cache/adapters.md | 18 +++ docs/components/container.md | 7 +- docs/components/index.md | 17 -- docs/components/link.md | 13 ++ .../{logger.md => logger/README.md} | 13 +- docs/components/logger/enrichers.md | 38 +++++ docs/components/logger/filters.md | 16 ++ docs/components/logger/formatters.md | 8 + docs/components/logger/handlers.md | 13 ++ .../{mailer.md => mailer/README.md} | 12 +- docs/components/mailer/transports.md | 10 ++ docs/components/pager.md | 153 ------------------ docs/components/pager/README.md | 67 ++++++++ docs/components/pager/adapters.md | 92 +++++++++++ docs/contributing/documentation.md | 9 +- docs/contributing/index.md | 37 ++--- docs/reporting-issues.md | 21 +-- 24 files changed, 471 insertions(+), 272 deletions(-) create mode 100644 docs/.gitbook/assets/top-rocker.png create mode 100644 docs/bard/commands.md rename docs/bard/{bard-overview.md => overview.md} (100%) rename docs/components/{cache.md => cache/README.md} (87%) create mode 100644 docs/components/cache/adapters.md delete mode 100644 docs/components/index.md rename docs/components/{logger.md => logger/README.md} (94%) create mode 100644 docs/components/logger/enrichers.md create mode 100644 docs/components/logger/filters.md create mode 100644 docs/components/logger/formatters.md create mode 100644 docs/components/logger/handlers.md rename docs/components/{mailer.md => mailer/README.md} (83%) create mode 100644 docs/components/mailer/transports.md delete mode 100644 docs/components/pager.md create mode 100644 docs/components/pager/README.md create mode 100644 docs/components/pager/adapters.md diff --git a/docs/.gitbook/assets/top-rocker.png b/docs/.gitbook/assets/top-rocker.png new file mode 100644 index 0000000000000000000000000000000000000000..fd0537bdc70a4beeb3d94e48f9cf6c33ff8cd0cc GIT binary patch literal 18037 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 OA@b77Qsqxg!~Pc>F} - - -
+# 🏠 Home -# Welcome to the Sons of PHP +## Welcome to the Sons of PHP -## Reporting Issues +### Reporting Issues -Please use the main [Sons of PHP Repository][mother-repo] to report any [issues][issues] that -you find. +Please use the main [Sons of PHP Repository](https://github.com/SonsOfPHP/sonsofphp) to report any [issues](https://github.com/SonsOfPHP/sonsofphp/issues) that you find. -If you find any issues with the documentation, please submit issues in the -dedicated [Documentation Repository][docs-repo]. +### Contributing -## Contributing +Please submit [Pull Requests](https://github.com/SonsOfPHP/sonsofphp/pulls) to the main [Sons of PHP Repository](https://github.com/SonsOfPHP/sonsofphp). -Please submit [Pull Requests][pull-requests] to the main [Sons of PHP Repository][mother-repo]. +### Getting Help -If you would like to help with documentation, please use the dedicated -[Documentation Repository][docs-repo] to submit pull requests. - -## Getting Help - -Please visit the [Sons of PHP Organization Discussions][discussions] section to -ask questions and get more help. - -## Hanging Out - -Drop by the [Discord Server][discord]. - -[discussions]: https://github.com/orgs/SonsOfPHP/discussions -[mother-repo]: https://github.com/SonsOfPHP/sonsofphp -[pull-requests]: https://github.com/SonsOfPHP/sonsofphp/pulls -[issues]: https://github.com/SonsOfPHP/sonsofphp/issues -[docs-repo]: https://github.com/SonsOfPHP/sonsofphp -[discord]: https://discord.gg/sdVxNhFqND +Please visit the [Sons of PHP Organization Discussions](https://github.com/orgs/SonsOfPHP/discussions) section to ask questions and get more help. diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index c02aa0d4..5e719959 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -1,20 +1,21 @@ # Table of contents -* [Home](README.md) +* [🏠 Home](README.md) * [Contributor Covenant Code of Conduct](code-of-conduct.md) * [Getting Help](getting-help.md) * [Reporting Issues](reporting-issues.md) * [Security Policy](security.md) -## Bard +## 🪈 Bard -* [Bard Overview](bard/bard-overview.md) +* [Overview](bard/overview.md) +* [Commands](bard/commands.md) -## Components +## 📦 Components -* [Components Overview](components/index.md) * [Assert](components/assert.md) -* [Cache](components/cache.md) +* [Cache](components/cache/README.md) + * [Adapters](components/cache/adapters.md) * [Clock](components/clock.md) * [Container](components/container.md) * [Cookie](components/cookie.md) @@ -37,13 +38,19 @@ * [Http Message](components/http-message.md) * [JSON](components/json.md) * [Link](components/link.md) -* [Logger](components/logger.md) -* [Mailer](components/mailer.md) +* [Logger](components/logger/README.md) + * [Handlers](components/logger/handlers.md) + * [Enrichers](components/logger/enrichers.md) + * [Filters](components/logger/filters.md) + * [Formatters](components/logger/formatters.md) +* [Mailer](components/mailer/README.md) + * [Transports](components/mailer/transports.md) * [Money](components/money/README.md) * [Currency Providers](components/money/currency-providers.md) * [Operators](components/money/operators.md) * [Queries](components/money/queries.md) -* [Pager](components/pager.md) +* [Pager](components/pager/README.md) + * [Adapters](components/pager/adapters.md) * [State Machine](components/state-machine.md) * [Version](components/version.md) @@ -58,7 +65,7 @@ * [Pager](contracts/pager.md) * [State Machine](contracts/state-machine.md) -## Contributing +## 💁 Contributing * [Contributing Overview](contributing/index.md) * [Contributing Code](contributing/code.md) diff --git a/docs/bard/commands.md b/docs/bard/commands.md new file mode 100644 index 00000000..61d6c64f --- /dev/null +++ b/docs/bard/commands.md @@ -0,0 +1,45 @@ +# Commands + +## init + +Initialize a new mono repository. + +```shell +bard init +``` + +## add + +Add a new package to bard. + +```sh +bard add +``` + +## merge + +This command will merge all packages into the root `composer.json` file. + +```sh +bard merge [] +``` + +## push + +Pushes code to their respective repositories. + +```sh +bard push [] +``` + +## release + +Creates a new release. This command will update all the files that need to be updated, tag, and push the release out. + +```sh +bard release +``` + +{% hint style="success" %} +You can use `major`, `minor`, or `patch` as the `` argument instead of specifying the exact version you want to release. +{% endhint %} diff --git a/docs/bard/bard-overview.md b/docs/bard/overview.md similarity index 100% rename from docs/bard/bard-overview.md rename to docs/bard/overview.md diff --git a/docs/components/assert.md b/docs/components/assert.md index 6e918948..dbb8a597 100644 --- a/docs/components/assert.md +++ b/docs/components/assert.md @@ -2,8 +2,74 @@ title: Assert --- +# Assert + ## Installation ```shell composer require sonsofphp/assert ``` + +## Usage + +```php + - - -
- -# Components - -Sons of PHP creates and maintains various Components. Components are reusable -libraries. With the Components, we try to have as few dependencies as possible. -If additional functionality is needed, the dependencies are broken out into -specific packages. - -If you are having issues, please see [Reporting Issues](../reporting-issues.md) diff --git a/docs/components/link.md b/docs/components/link.md index 8575bad0..e7c7888c 100644 --- a/docs/components/link.md +++ b/docs/components/link.md @@ -1,9 +1,22 @@ --- title: Link +description: 'PSR-13: Link' --- +# Link + ## Installation ```shell composer require sonsofphp/link ``` + +## Usage + +```php +setFilter(new LogLevelFilter(Level::Alert)); $logger->addHandler($handler); ``` -#### Handlers +## Handlers Handlers are responsible for "handling" the log message. The handler will send the log message where it's been configured to. Out of the box, it supports a few different handlers. -#### Enrichers +## Enrichers Enrichers will add extra context to the log message. This could be the git hash or memory usage, or anything else you want. Enrichers are also used to modify context values in case someone adds sensitive values in there. -#### Filters +## Filters Filters can be used to determine it the log message should be handled. Custom filters could be specific to an HTTP Request so that ONLY requests matching a specific path would be handled. You could also make a custom filter to log only authenticated users -#### Formatters +## Formatters Formatters are used by Handlers to format the message that needs to be logged. diff --git a/docs/components/logger/enrichers.md b/docs/components/logger/enrichers.md new file mode 100644 index 00000000..85b323ab --- /dev/null +++ b/docs/components/logger/enrichers.md @@ -0,0 +1,38 @@ +# Enrichers + +Enrichers will add extra context to the log message. This could be the git hash or memory usage, or anything else you want. + +Enrichers are also used to modify context values in case someone adds sensitive values in there. + +## GroupIdEnricher + + + +## HostnameEnricher + + + +## InodeEnricher + + + +## MaskContextValueEnricher + + + +## NullEnricher + + + +## ProcessIdEnricher + + + +## ScriptOwnerEnricher + + + +## UserIdEnricher + + + diff --git a/docs/components/logger/filters.md b/docs/components/logger/filters.md new file mode 100644 index 00000000..f41e2935 --- /dev/null +++ b/docs/components/logger/filters.md @@ -0,0 +1,16 @@ +# Filters + +Filters can be used to determine it the log message should be handled. Custom filters could be specific to an HTTP Request so that ONLY requests matching a specific path would be handled. You could also make a custom filter to log only authenticated users + +## ChannelFilter + + + +## LogLevelFilter + + + +## MockFilter + + + diff --git a/docs/components/logger/formatters.md b/docs/components/logger/formatters.md new file mode 100644 index 00000000..2f435b0e --- /dev/null +++ b/docs/components/logger/formatters.md @@ -0,0 +1,8 @@ +--- +description: Formatters are used by Handlers to format the message that needs to be logged. +--- + +# Formatters + +## SimpleFormatter + diff --git a/docs/components/logger/handlers.md b/docs/components/logger/handlers.md new file mode 100644 index 00000000..23c17b09 --- /dev/null +++ b/docs/components/logger/handlers.md @@ -0,0 +1,13 @@ +# Handlers + +Handlers are responsible for "handling" the log message. The handler will send the log message where it's been configured to. Out of the box, it supports a few different handlers. + +## FileHandler + + + +## NullHandler + + + +## StreamHandler diff --git a/docs/components/mailer.md b/docs/components/mailer/README.md similarity index 83% rename from docs/components/mailer.md rename to docs/components/mailer/README.md index 6c134bdd..27f59a5d 100644 --- a/docs/components/mailer.md +++ b/docs/components/mailer/README.md @@ -2,15 +2,17 @@ title: Mailer --- +# Mailer + Simple PHP Mailer -## Installation +### Installation ```shell composer require sonsofphp/mailer ``` -## Usage +### Usage ```php setTo('joshua@sonsofphp.com') - ->setFrom('From', 'joshua@sonsofphp.com') - ->setSubject('Subject', 'Test Subject') + ->setFrom('joshua@sonsofphp.com') + ->setSubject('Test Subject') ->setBody($body) ; @@ -31,7 +33,7 @@ $mailer = new Mailer(new NullTransport()); $mailer->send($message); ``` -### Middleware +#### Middleware The `Mailer` class supports various middleware as well. diff --git a/docs/components/mailer/transports.md b/docs/components/mailer/transports.md new file mode 100644 index 00000000..3138d1ef --- /dev/null +++ b/docs/components/mailer/transports.md @@ -0,0 +1,10 @@ +# Transports + +## NativeMailTransport + + + +## NullTransport + + + diff --git a/docs/components/pager.md b/docs/components/pager.md deleted file mode 100644 index 347303b9..00000000 --- a/docs/components/pager.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: Pager -description: PHP Pager ---- - -# Pager - -Simple yet powerful pagination - -### Installation - -```shell -composer require sonsofphp/pager -``` - -### Usage - -Basic Usage - -```php - 1, - 'max_per_page' => 10, -]); - -// You can also set current page and max per page -$pager->setCurrentPage(1); -$pager->setMaxPerPage(10); - - -$totalPages = $pager->getTotalPages(); -$totalResults = $pager->getTotalResults(); -$currentPage = $pager->getCurrentPage(); - -if ($pager->haveToPaginate()) { - // ... -} - -if ($pager->hasPreviousPage()) { - $prevPage = $pager->getPreviousPage(); - // ... -} - -if ($pager->hasNextPage()) { - $nextPage = $pager->getNextPage(); - // ... -} -``` - -### Custom Adapters - -Creating Custom Adapters is easy. You can take a look at the available adapters to see how easy it is. - -Please see the [Pager Contract](../contracts/pager.md) to learn more. - -### Available Adapters - -#### ArrayAdapter - -```php -select('COUNT(e.id) as total'); -}); -``` - -#### QueryBuilderAdapter (doctrine/orm) - -!!! warning "Requires `sonsofphp/pager-doctrine-orm`" `shell composer require sonsofphp/pager-doctrine-orm` - -```php -createQueryBuilder('e'); - -$adapter = new QueryBuilderAdapter($builder); -``` diff --git a/docs/components/pager/README.md b/docs/components/pager/README.md new file mode 100644 index 00000000..a10d8566 --- /dev/null +++ b/docs/components/pager/README.md @@ -0,0 +1,67 @@ +--- +title: Pager +description: Simple yet powerful pagination +--- + +# Pager + +## Installation + +```shell +composer require sonsofphp/pager +``` + +## Usage + +Basic Usage + +```php + 1, + 'max_per_page' => 10, +]); + +// You can also set current page and max per page +$pager->setCurrentPage(1); +$pager->setMaxPerPage(10); + + +$totalPages = $pager->getTotalPages(); +$totalResults = $pager->getTotalResults(); +$currentPage = $pager->getCurrentPage(); + +if ($pager->haveToPaginate()) { + // ... +} + +if ($pager->hasPreviousPage()) { + $prevPage = $pager->getPreviousPage(); + // ... +} + +if ($pager->hasNextPage()) { + $nextPage = $pager->getNextPage(); + // ... +} +``` diff --git a/docs/components/pager/adapters.md b/docs/components/pager/adapters.md new file mode 100644 index 00000000..6edb5a6a --- /dev/null +++ b/docs/components/pager/adapters.md @@ -0,0 +1,92 @@ +# Adapters + +## Custom Adapters + +Creating Custom Adapters is easy. You can take a look at the available adapters to see how easy it is. + +Please see the [Pager Contract](../../contracts/pager.md) to learn more. + +## Available Adapters + +### ArrayAdapter + +```php +select('COUNT(e.id) as total'); +}); +``` + +### QueryBuilderAdapter (doctrine/orm) + +{% hint style="danger" %} +Requires `sonsofphp/pager-doctrine-orm` +{% endhint %} + +```php +createQueryBuilder('e'); + +$adapter = new QueryBuilderAdapter($builder); +``` + diff --git a/docs/contributing/documentation.md b/docs/contributing/documentation.md index 11d51190..d8ac1f65 100644 --- a/docs/contributing/documentation.md +++ b/docs/contributing/documentation.md @@ -2,9 +2,8 @@ title: Documentation --- -Documentation is an important part of Sons of PHP and we are always looking for -people who can help make the documentation better. Fixing typos and adding more -examples to the documentation to help other devs out. +# Documentation -If this interests you, please fork the documentation repository and add/update -the existing documentation. +Documentation is an important part of Sons of PHP and we are always looking for people who can help make the documentation better. Fixing typos and adding more examples to the documentation to help other devs out. + +If this interests you, please fork the repository and add/update the existing documentation. diff --git a/docs/contributing/index.md b/docs/contributing/index.md index 074c87d3..961c2e66 100644 --- a/docs/contributing/index.md +++ b/docs/contributing/index.md @@ -2,39 +2,24 @@ title: Contributing --- +# Contributing Overview +
- -
-
-# How to Contribute + -The Sons of PHP is always looking for people who can contribute to the project. -Popular ways people get started contributing is by updating our -[Documentation][docs-repo]. + -## Documentation +*** -All of our documentation is kept in our [Documentation Repository][docs-repo] -and can be browsed online. You can browse the [Issues][docs-issues] and create a -[Pull Request][docs-prs] to help solve some of those. +## How to Contribute -## GitHub Discussions +The Sons of PHP is always looking for people who can contribute to the project. Popular ways people get started contributing is by updating our Documentation. -[Sons of PHP Discussions][discussions] are centralized so all questions and help -can be done in one location. Finding and helping answer questions is an easy way -to become more involved. +### GitHub Discussions -## Code +[Sons of PHP Discussions](https://github.com/orgs/SonsOfPHP/discussions) are centralized so all questions and help can be done in one location. Finding and helping answer questions is an easy way to become more involved. -All of our code is kept in the [Mother Repository][mother-repo] and manged from -there. You can browse the [issues][mother-issues] and [PRs][mother-prs] for all -the different Sons of PHP packages. +### Code -[discussions]: https://github.com/orgs/SonsOfPHP/discussions -[docs-repo]: https://github.com/SonsOfPHP/sonsofphp -[docs-prs]: https://github.com/SonsOfPHP/sonsofphp/pulls -[docs-issues]: https://github.com/SonsOfPHP/sonsofphp/issues -[mother-repo]: https://github.com/SonsOfPHP/sonsofphp -[mother-prs]: https://github.com/SonsOfPHP/sonsofphp/pulls -[mother-issues]: https://github.com/SonsOfPHP/sonsofphp/issues +All of our code is kept in the [Mother Repository](https://github.com/SonsOfPHP/sonsofphp) and manged from there. You can browse the [issues](https://github.com/SonsOfPHP/sonsofphp/issues) and [PRs](https://github.com/SonsOfPHP/sonsofphp/pulls) for all the different Sons of PHP packages. diff --git a/docs/reporting-issues.md b/docs/reporting-issues.md index 5ee31250..e9bb0d95 100644 --- a/docs/reporting-issues.md +++ b/docs/reporting-issues.md @@ -2,23 +2,18 @@ title: Reporting Issues --- +# Reporting Issues +
- -
-
-# Reporting Issues + -## Components, Libraries, Projects, etc. + -Please use the [Mother Repo][mother-repo] to report issues with any of the -components. Be sure to include as much information as you can so it can get -resolved as fast as possible. +*** -## Documentation +## Reporting Issues -Documentation is also kept in the [Mother Repo][mother-repo]. Please use this -repo to report any issues. +### Components, Libraries, Projects, etc. -[mother-repo]: https://github.com/SonsOfPHP/sonsofphp -[issues]: https://github.com/SonsOfPHP/sonsofphp/issues +Please use the [Mother Repo](https://github.com/SonsOfPHP/sonsofphp) to report issues with any of the components. Be sure to include as much information as you can so it can get resolved as fast as possible.