Skip to content

Commit 19d2be1

Browse files
mabarMilan Felix Šulc
authored andcommitted
PHP 7.1, coding style
1 parent e244492 commit 19d2be1

33 files changed

Lines changed: 271 additions & 367 deletions

.docs/README.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Nextras ORM Events
2+
3+
## Content
4+
5+
- [Config](#config)
6+
- [Entity](#entity)
7+
- [Service](#service)
8+
- [Real example](#real-example)
9+
10+
## Usage
11+
12+
### Config
13+
14+
```yaml
15+
extensions:
16+
orm.events: Contributte\Nextras\Orm\Events\DI\NextrasOrmEventsExtension
17+
```
18+
19+
```yaml
20+
services:
21+
- App\Model\BeforePersistListener
22+
```
23+
24+
### Entity
25+
26+
Just add annotation `@<Before/Update>` to your entity.
27+
28+
```php
29+
/**
30+
* @BeforeInsert(App\Model\BeforeInsertListener)
31+
* @BeforePersist(App\Model\BeforePersistListener)
32+
* @BeforeRemove(App\Model\BeforeRemoveListener)
33+
* @BeforeUpdate(App\Model\BeforeUpdateListener)
34+
* @AfterInsert(App\Model\AfterInsertListener)
35+
* @AfterPersist(App\Model\AfterPersistListener)
36+
* @AfterRemove(App\Model\AfterRemoveListener)
37+
* @AfterUpdate(App\Model\AfterUpdateListener)
38+
39+
* @Lifecycle(App\Model\LifecycleListener)
40+
*/
41+
class Foo extends Entity
42+
{
43+
}
44+
45+
```
46+
47+
### Service
48+
49+
```php
50+
51+
namespace App\Model;
52+
53+
use Contributte\Nextras\Orm\Events\Listeners\BeforePersistListener;
54+
use Nextras\Orm\Entity\IEntity;
55+
56+
final class BeforePersistListener implements BeforePersistListener
57+
{
58+
59+
public function onBeforePersist(IEntity $entity): void
60+
{
61+
// ...
62+
}
63+
64+
}
65+
```
66+
67+
### Real example
68+
69+
```yaml
70+
service:
71+
- App\Model\FooBeforeInsertListener
72+
```
73+
74+
```php
75+
/**
76+
* @BeforeInsert(App\Model\FooBeforeInsertListener)
77+
*/
78+
class Foo extends Entity
79+
{
80+
}
81+
```
82+
83+
```php
84+
// Generated container..
85+
86+
/**
87+
* @return FooRepository
88+
*/
89+
public function createServiceOrm__repositories__foo()
90+
{
91+
$service = new FooRepository(
92+
$this->getService('orm.mappers.foo'),
93+
$this->getService('orm.dependencyProvider')
94+
);
95+
$service->setModel($this->getService('orm.model'));
96+
97+
// ===== attaching events (provided by extension =====
98+
99+
$service->onBeforeInsert[] = [
100+
$this->getService('App\Model\FooBeforeInsertListener'),
101+
'onBeforeInsert',
102+
];
103+
104+
// ===== attaching events ============================
105+
106+
return $service;
107+
}
108+
```

.editorconfig

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,20 @@
11
# EditorConfig is awesome: http://EditorConfig.org
22

3-
# Top-most EditorConfig file
43
root = true
54

6-
# Unix-style newlines with a newline ending every file
75
[*]
6+
charset = utf-8
87
end_of_line = lf
98
insert_final_newline = true
10-
11-
# JS / PHP
12-
[*.{js,php,phpt}]
13-
charset = utf-8
9+
trim_trailing_whitespace = true
1410
indent_style = tab
15-
indent_size = 4
11+
indent_size = tab
12+
tab_width = 4
1613

17-
# NEON
18-
[*.neon]
19-
charset = utf-8
20-
indent_style = tab
14+
[*.md]
15+
indent_style = space
2116
indent_size = 4
2217

23-
# Composer, NPM, Travis, BitbucketPipelines
24-
[{composer.json,package.json,.travis.yml,bitbucket-pipelines.yml}]
18+
[{composer.json,package.json,.travis.yml}]
2519
indent_style = space
26-
indent_size = 2
20+
indent_size = 2

.gitignore

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
# IDEA
1+
# IDE
22
/.idea
33

44
# Composer
5-
/composer.lock
65
/vendor
6+
/composer.lock
77

88
# Tests
9+
/temp/
10+
/tests/*.log
911
/tests/tmp
12+
/tests/coverage.html
13+
/coverage.xml

.travis.yml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
language: php
2+
23
php:
3-
- 5.6
4-
- 7.0
5-
- 7.1
6-
- 7.2
4+
- 7.1
5+
- 7.2
76

87
before_install:
98
# turn off XDebug
@@ -19,42 +18,41 @@ script:
1918

2019
jobs:
2120
include:
22-
- env: title="Lowest Dependencies 5.6"
23-
php: 5.6
21+
- env: title="Lowest Dependencies 7.1"
22+
php: 7.1
2423
install:
2524
- travis_retry composer update --no-progress --prefer-dist --prefer-lowest
2625
script:
2726
- composer run-script tester
2827

29-
- env: title="Lowest Dependencies 7.1"
30-
php: 7.1
28+
- env: title="Lowest Dependencies 7.2"
29+
php: 7.2
3130
install:
3231
- travis_retry composer update --no-progress --prefer-dist --prefer-lowest
3332
script:
3433
- composer run-script tester
3534

3635
- stage: Quality Assurance
37-
php: 7.1
36+
php: 7.2
3837
script:
3938
- composer run-script qa
4039

4140
- stage: Test Coverage
42-
php: 7.1
41+
php: 7.2
4342
script:
4443
- composer run-script coverage
4544
after_script:
46-
- wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar
45+
- wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.0.0/php-coveralls.phar
4746
- php coveralls.phar --verbose --config tests/.coveralls.yml
4847

4948
- stage: Phpstan
50-
php: 7.1
49+
php: 7.2
5150
script:
5251
- composer run-script phpstan-install
5352
- composer run-script phpstan
5453

5554
allow_failures:
5655
- stage: Test Coverage
57-
- stage: Phpstan
5856

5957
after_failure:
6058
# Print *.actual content
@@ -64,4 +62,4 @@ sudo: false
6462

6563
cache:
6664
directories:
67-
- $HOME/.composer/cache
65+
- $HOME/.composer/cache

README.md

Lines changed: 17 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ Doctrine-like events for Nextras ORM entity lifecycle.
1111
[![Downloads this Month](https://img.shields.io/packagist/dm/contributte/nextras-orm-events.svg?style=flat-square)](https://packagist.org/packages/contributte/nextras-orm-events)
1212
[![Downloads total](https://img.shields.io/packagist/dt/contributte/nextras-orm-events.svg?style=flat-square)](https://packagist.org/packages/contributte/nextras-orm-events)
1313
[![Latest stable](https://img.shields.io/packagist/v/contributte/nextras-orm-events.svg?style=flat-square)](https://packagist.org/packages/contributte/nextras-orm-events)
14-
14+
1515
## Discussion / Help
16-
16+
1717
[![Join the chat](https://img.shields.io/gitter/room/contributte/contributte.svg?style=flat-square)](http://bit.ly/ctteg)
1818

1919
## Install
@@ -26,115 +26,16 @@ composer require contributte/nextras-orm-events
2626

2727
| State | Version | Branch | PHP | |
2828
|-------------|---------|----------|----------|-|
29-
| development | `^0.4` | `master` | `>= 5.6` ||
29+
| development | `^0.5` | `master` | `>= 7.1` ||
30+
| stable | `^0.4` | `master` | `>= 7.1` ||
3031
| stable | `^0.3` | `master` | `>= 5.6` ||
3132
| stable | `^0.2` | `master` | `>= 5.6` |(old namespace)|
3233

33-
## Usage
34-
35-
### Config
36-
37-
```yaml
38-
extensions:
39-
orm.events: Contributte\Nextras\Orm\Events\DI\NextrasOrmEventsExtension
40-
```
41-
42-
```yaml
43-
services:
44-
- App\Model\BeforePersistListener
45-
```
46-
47-
### Entity
48-
49-
Just add annotation `@<Before/Update>` to your entity.
50-
51-
```php
52-
/**
53-
* @BeforeInsert(App\Model\BeforeInsertListener)
54-
* @BeforePersist(App\Model\BeforePersistListener)
55-
* @BeforeRemove(App\Model\BeforeRemoveListener)
56-
* @BeforeUpdate(App\Model\BeforeUpdateListener)
57-
* @AfterInsert(App\Model\AfterInsertListener)
58-
* @AfterPersist(App\Model\AfterPersistListener)
59-
* @AfterRemove(App\Model\AfterRemoveListener)
60-
* @AfterUpdate(App\Model\AfterUpdateListener)
61-
62-
* @Lifecycle(App\Model\LifecycleListener)
63-
*/
64-
class Foo extends Entity
65-
{
66-
}
67-
68-
```
69-
70-
### Service
71-
72-
```php
73-
74-
namespace App\Model;
75-
76-
use Contributte\Nextras\Orm\Events\Listeners\BeforePersistListener;
77-
use Nextras\Orm\Entity\IEntity;
78-
79-
final class BeforePersistListener implements BeforePersistListener
80-
{
81-
82-
/**
83-
* @param IEntity $entity
84-
* @return void
85-
*/
86-
public function onBeforePersist(IEntity $entity)
87-
{
88-
// ...
89-
}
90-
91-
}
92-
```
93-
94-
### Real example
95-
96-
```yaml
97-
service:
98-
- App\Model\FooBeforeInsertListener
99-
```
100-
101-
```php
102-
/**
103-
* @BeforeInsert(App\Model\FooBeforeInsertListener)
104-
*/
105-
class Foo extends Entity
106-
{
107-
}
108-
```
109-
110-
```php
111-
// Generated container..
112-
113-
/**
114-
* @return FooRepository
115-
*/
116-
public function createServiceOrm__repositories__foo()
117-
{
118-
$service = new FooRepository(
119-
$this->getService('orm.mappers.foo'),
120-
$this->getService('orm.dependencyProvider')
121-
);
122-
$service->setModel($this->getService('orm.model'));
123-
124-
// ===== attaching events (provided by extension =====
125-
126-
$service->onBeforeInsert[] = [
127-
$this->getService('App\Model\FooBeforeInsertListener'),
128-
'onBeforeInsert',
129-
];
130-
131-
// ===== attaching events ============================
132-
133-
return $service;
134-
}
135-
```
136-
137-
That's all. Super ultra simple.
34+
## Overview
35+
- [Config](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#config)
36+
- [Entity](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#entity)
37+
- [Service](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#service)
38+
- [Real example](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#real-example)
13839

13940
## Maintainers
14041

@@ -148,8 +49,15 @@ That's all. Super ultra simple.
14849
</br>
14950
<a href="https://github.com/f3l1x">Milan Felix Šulc</a>
15051
</td>
52+
<td align="center">
53+
<a href="https://github.com/mabar">
54+
<img width="150" height="150" src="https://avatars0.githubusercontent.com/u/20974277?s=400&v=4">
55+
</a>
56+
</br>
57+
<a href="https://github.com/mabar">Marek Bartoš</a>
58+
</td>
15159
</tr>
152-
</tbody>
60+
<tbody>
15361
</table>
15462

15563
-------

0 commit comments

Comments
 (0)