mirror of
https://github.com/wiosna-dev/common-library.git
synced 2026-03-12 09:31:51 +01:00
Reorganize documentation & update Readme
This commit is contained in:
@@ -4,3 +4,4 @@ Common and useful classes, methods, exceptions etc.
|
|||||||
## 0.0.19
|
## 0.0.19
|
||||||
|
|
||||||
1. Add this changelog
|
1. Add this changelog
|
||||||
|
2. Reorganize documentation & update [Readme](README.md)
|
||||||
|
|||||||
125
README.md
125
README.md
@@ -8,130 +8,19 @@ Common and useful classes, methods, exceptions etc.
|
|||||||
Run [Composer](https://getcomposer.org) to install this package in your project:
|
Run [Composer](https://getcomposer.org) to install this package in your project:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ composer require meritoo/common-library
|
composer require meritoo/common-library
|
||||||
```
|
```
|
||||||
|
|
||||||
> [How to install Composer?](https://getcomposer.org/download)
|
> [How to install Composer?](https://getcomposer.org/download)
|
||||||
|
|
||||||
# Docker
|
# Usage
|
||||||
|
|
||||||
Build, create and start Docker's containers by running command:
|
1. [Base test case (with common methods and data providers)](docs/Base-test-case.md)
|
||||||
|
2. [Collection of elements](docs/Collection-of-elements.md)
|
||||||
|
3. [Static methods](docs/Static-methods.md)
|
||||||
|
|
||||||
```bash
|
# Development
|
||||||
$ docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
> [What is Docker?](https://www.docker.com/what-docker)
|
More information [you can find here](docs/Development.md)
|
||||||
|
|
||||||
# Composer
|
|
||||||
|
|
||||||
Install packages by running command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker-compose run composer install
|
|
||||||
```
|
|
||||||
|
|
||||||
Update packages by running command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker-compose run composer update
|
|
||||||
```
|
|
||||||
|
|
||||||
# Rebuild project and run tests
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker-compose exec php-cli phing
|
|
||||||
```
|
|
||||||
|
|
||||||
> [What is Docker?](https://www.docker.com/what-docker)
|
|
||||||
|
|
||||||
# Static methods
|
|
||||||
|
|
||||||
This package contains a lot of class with static methods, so usage is not so complicated. Just run the static method who would you like to use. Example:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use Meritoo\Common\Utilities\Arrays;
|
|
||||||
|
|
||||||
$firstElement = Arrays::getFirstElement(['lorem', 'ipsum']);
|
|
||||||
var_dump($firstElement); // string(5) "lorem"
|
|
||||||
```
|
|
||||||
|
|
||||||
# Base test case with common methods and data providers
|
|
||||||
|
|
||||||
Located here: `Meritoo\Common\Test\Base\BaseTestCase`. Just extend the `BaseTestCase` class and use it like in `Meritoo\Common\Test\Utilities\DateTest` class:
|
|
||||||
|
|
||||||
```php
|
|
||||||
class DateTest extends BaseTestCase
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @param mixed $value Empty value, e.g. ""
|
|
||||||
* @dataProvider provideEmptyValue
|
|
||||||
*/
|
|
||||||
public function testGetDateTimeEmptyValue($value)
|
|
||||||
{
|
|
||||||
self::assertFalse(Date::getDateTime($value));
|
|
||||||
}
|
|
||||||
|
|
||||||
(...)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
or in `Meritoo\Common\Test\Utilities\MimeTypesTest` class:
|
|
||||||
|
|
||||||
```php
|
|
||||||
class MimeTypesTest extends BaseTestCase
|
|
||||||
{
|
|
||||||
(...)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param bool $mimeType The mime type, e.g. "video/mpeg"
|
|
||||||
* @dataProvider provideBooleanValue
|
|
||||||
*/
|
|
||||||
public function testGetExtensionBooleanMimeType($mimeType)
|
|
||||||
{
|
|
||||||
self::assertEquals('', MimeTypes::getExtension($mimeType));
|
|
||||||
}
|
|
||||||
|
|
||||||
(...)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
# Collection of elements
|
|
||||||
|
|
||||||
Located here: `Meritoo\Common\Collection\Collection`. It's a set of some elements, e.g. objects. It's iterable and countable. Provides very useful methods. Some of them:
|
|
||||||
- `getFirst()` - returns the first element in the collection
|
|
||||||
- `getLast()` - returns the last element in the collection
|
|
||||||
- `isEmpty()` - returns information if collection is empty
|
|
||||||
- `add($element, $index = null)` - adds given element (at the end of collection)
|
|
||||||
- `addMultiple($elements, $useIndexes = false)` - adds given elements (at the end of collection)
|
|
||||||
- `prepend($element)` - prepends given element (adds given element at the beginning of collection)
|
|
||||||
- `remove($element)` - removes given element
|
|
||||||
|
|
||||||
Examples of usage below.
|
|
||||||
|
|
||||||
### An empty collection
|
|
||||||
|
|
||||||
```php
|
|
||||||
use Meritoo\Common\Collection\Collection;
|
|
||||||
|
|
||||||
$emptyCollection = new Collection();
|
|
||||||
var_dump($emptyCollection->isEmpty()); // bool(true)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Simple collection
|
|
||||||
|
|
||||||
```php
|
|
||||||
use Meritoo\Common\Collection\Collection;
|
|
||||||
|
|
||||||
$elements = [
|
|
||||||
'lorem',
|
|
||||||
'ipsum',
|
|
||||||
123 => 'dolor',
|
|
||||||
345 => 'sit',
|
|
||||||
];
|
|
||||||
|
|
||||||
$simpleCollection = new Collection($elements);
|
|
||||||
var_dump($simpleCollection->has('dolor')); // bool(true)
|
|
||||||
```
|
|
||||||
|
|
||||||
Enjoy!
|
Enjoy!
|
||||||
|
|||||||
@@ -17,6 +17,6 @@ services:
|
|||||||
image: ${DOCKER_CONTAINER_OWNER}/${DOCKER_CONTAINER_PROJECT}-php-cli
|
image: ${DOCKER_CONTAINER_OWNER}/${DOCKER_CONTAINER_PROJECT}-php-cli
|
||||||
container_name: ${DOCKER_CONTAINER_OWNER}-${DOCKER_CONTAINER_PROJECT}-composer
|
container_name: ${DOCKER_CONTAINER_OWNER}-${DOCKER_CONTAINER_PROJECT}-composer
|
||||||
working_dir: /project
|
working_dir: /project
|
||||||
command: composer
|
entrypoint: composer
|
||||||
volumes:
|
volumes:
|
||||||
- .:/project
|
- .:/project
|
||||||
|
|||||||
50
docs/Base-test-case.md
Normal file
50
docs/Base-test-case.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Meritoo Common Library
|
||||||
|
Common and useful classes, methods, exceptions etc.
|
||||||
|
|
||||||
|
# Base test case (with common methods and data providers)
|
||||||
|
|
||||||
|
Located here: `Meritoo\Common\Test\Base\BaseTestCase`. Just extend the `BaseTestCase` class and use it like in `Meritoo\Common\Test\Utilities\DateTest` class:
|
||||||
|
|
||||||
|
```php
|
||||||
|
class DateTest extends BaseTestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param mixed $value Empty value, e.g. ""
|
||||||
|
* @dataProvider provideEmptyValue
|
||||||
|
*/
|
||||||
|
public function testGetDateTimeEmptyValue($value)
|
||||||
|
{
|
||||||
|
self::assertFalse(Date::getDateTime($value));
|
||||||
|
}
|
||||||
|
|
||||||
|
(...)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
or in `Meritoo\Common\Test\Utilities\MimeTypesTest` class:
|
||||||
|
|
||||||
|
```php
|
||||||
|
class MimeTypesTest extends BaseTestCase
|
||||||
|
{
|
||||||
|
(...)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param bool $mimeType The mime type, e.g. "video/mpeg"
|
||||||
|
* @dataProvider provideBooleanValue
|
||||||
|
*/
|
||||||
|
public function testGetExtensionBooleanMimeType($mimeType)
|
||||||
|
{
|
||||||
|
self::assertEquals('', MimeTypes::getExtension($mimeType));
|
||||||
|
}
|
||||||
|
|
||||||
|
(...)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
# More
|
||||||
|
|
||||||
|
1. [**Base test case (with common methods and data providers)**](Base-test-case.md)
|
||||||
|
2. [Collection of elements](Collection-of-elements.md)
|
||||||
|
3. [Static methods](Static-methods.md)
|
||||||
|
|
||||||
|
[‹ Back to `Readme`](../README.md)
|
||||||
48
docs/Collection-of-elements.md
Normal file
48
docs/Collection-of-elements.md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Meritoo Common Library
|
||||||
|
Common and useful classes, methods, exceptions etc.
|
||||||
|
|
||||||
|
# Collection of elements
|
||||||
|
|
||||||
|
Located here: `Meritoo\Common\Collection\Collection`. It's a set of some elements, e.g. objects. It's iterable and countable. Provides very useful methods. Some of them:
|
||||||
|
- `getFirst()` - returns the first element in the collection
|
||||||
|
- `getLast()` - returns the last element in the collection
|
||||||
|
- `isEmpty()` - returns information if collection is empty
|
||||||
|
- `add($element, $index = null)` - adds given element (at the end of collection)
|
||||||
|
- `addMultiple($elements, $useIndexes = false)` - adds given elements (at the end of collection)
|
||||||
|
- `prepend($element)` - prepends given element (adds given element at the beginning of collection)
|
||||||
|
- `remove($element)` - removes given element
|
||||||
|
|
||||||
|
Examples of usage below.
|
||||||
|
|
||||||
|
### An empty collection
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Meritoo\Common\Collection\Collection;
|
||||||
|
|
||||||
|
$emptyCollection = new Collection();
|
||||||
|
var_dump($emptyCollection->isEmpty()); // bool(true)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Simple collection
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Meritoo\Common\Collection\Collection;
|
||||||
|
|
||||||
|
$elements = [
|
||||||
|
'lorem',
|
||||||
|
'ipsum',
|
||||||
|
123 => 'dolor',
|
||||||
|
345 => 'sit',
|
||||||
|
];
|
||||||
|
|
||||||
|
$simpleCollection = new Collection($elements);
|
||||||
|
var_dump($simpleCollection->has('dolor')); // bool(true)
|
||||||
|
```
|
||||||
|
|
||||||
|
# More
|
||||||
|
|
||||||
|
1. [Base test case (with common methods and data providers)](Base-test-case.md)
|
||||||
|
2. [**Collection of elements**](Collection-of-elements.md)
|
||||||
|
3. [Static methods](Static-methods.md)
|
||||||
|
|
||||||
|
[‹ Back to `Readme`](../README.md)
|
||||||
44
docs/Development.md
Normal file
44
docs/Development.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Meritoo Common Library
|
||||||
|
Development-related information
|
||||||
|
|
||||||
|
# Getting started
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
Build, create and start Docker's containers by running command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
> [What is Docker?](https://www.docker.com/what-docker)
|
||||||
|
|
||||||
|
### Composer
|
||||||
|
|
||||||
|
Install packages by running command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose run composer install
|
||||||
|
```
|
||||||
|
|
||||||
|
Update packages by running command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose run composer update
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
|
||||||
|
Rebuild project and run tests by running command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose exec php-cli phing
|
||||||
|
```
|
||||||
|
|
||||||
|
Run tests only by running command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose exec php-cli phpunit
|
||||||
|
```
|
||||||
|
|
||||||
|
[‹ Back to `Readme`](../README.md)
|
||||||
21
docs/Static-methods.md
Normal file
21
docs/Static-methods.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Meritoo Common Library
|
||||||
|
Common and useful classes, methods, exceptions etc.
|
||||||
|
|
||||||
|
# Static methods
|
||||||
|
|
||||||
|
This package contains a lot of class with static methods, so usage is not so complicated. Just run the static method who would you like to use. Example:
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Meritoo\Common\Utilities\Arrays;
|
||||||
|
|
||||||
|
$firstElement = Arrays::getFirstElement(['lorem', 'ipsum']);
|
||||||
|
var_dump($firstElement); // string(5) "lorem"
|
||||||
|
```
|
||||||
|
|
||||||
|
# More
|
||||||
|
|
||||||
|
1. [Base test case (with common methods and data providers)](Base-test-case.md)
|
||||||
|
2. [Collection of elements](Collection-of-elements.md)
|
||||||
|
3. [**Static methods**](Static-methods.md)
|
||||||
|
|
||||||
|
[‹ Back to `Readme`](../README.md)
|
||||||
Reference in New Issue
Block a user