Skip to content

Commit

Permalink
PHP 7.1, coding style
Browse files Browse the repository at this point in the history
  • Loading branch information
mabar authored and Milan Felix Šulc committed Jun 21, 2018
1 parent e244492 commit 19d2be1
Show file tree
Hide file tree
Showing 33 changed files with 271 additions and 367 deletions.
108 changes: 108 additions & 0 deletions .docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Nextras ORM Events

## Content

- [Config](#config)
- [Entity](#entity)
- [Service](#service)
- [Real example](#real-example)

## Usage

### Config

```yaml
extensions:
orm.events: Contributte\Nextras\Orm\Events\DI\NextrasOrmEventsExtension
```
```yaml
services:
- App\Model\BeforePersistListener
```
### Entity
Just add annotation `@<Before/Update>` to your entity.

```php
/**
* @BeforeInsert(App\Model\BeforeInsertListener)
* @BeforePersist(App\Model\BeforePersistListener)
* @BeforeRemove(App\Model\BeforeRemoveListener)
* @BeforeUpdate(App\Model\BeforeUpdateListener)
* @AfterInsert(App\Model\AfterInsertListener)
* @AfterPersist(App\Model\AfterPersistListener)
* @AfterRemove(App\Model\AfterRemoveListener)
* @AfterUpdate(App\Model\AfterUpdateListener)
* @Lifecycle(App\Model\LifecycleListener)
*/
class Foo extends Entity
{
}
```

### Service

```php
namespace App\Model;
use Contributte\Nextras\Orm\Events\Listeners\BeforePersistListener;
use Nextras\Orm\Entity\IEntity;
final class BeforePersistListener implements BeforePersistListener
{
public function onBeforePersist(IEntity $entity): void
{
// ...
}
}
```

### Real example

```yaml
service:
- App\Model\FooBeforeInsertListener
```

```php
/**
* @BeforeInsert(App\Model\FooBeforeInsertListener)
*/
class Foo extends Entity
{
}
```

```php
// Generated container..
/**
* @return FooRepository
*/
public function createServiceOrm__repositories__foo()
{
$service = new FooRepository(
$this->getService('orm.mappers.foo'),
$this->getService('orm.dependencyProvider')
);
$service->setModel($this->getService('orm.model'));
// ===== attaching events (provided by extension =====
$service->onBeforeInsert[] = [
$this->getService('App\Model\FooBeforeInsertListener'),
'onBeforeInsert',
];
// ===== attaching events ============================
return $service;
}
```
22 changes: 8 additions & 14 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,26 +1,20 @@
# EditorConfig is awesome: http://EditorConfig.org

# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true

# JS / PHP
[*.{js,php,phpt}]
charset = utf-8
trim_trailing_whitespace = true
indent_style = tab
indent_size = 4
indent_size = tab
tab_width = 4

# NEON
[*.neon]
charset = utf-8
indent_style = tab
[*.md]
indent_style = space
indent_size = 4

# Composer, NPM, Travis, BitbucketPipelines
[{composer.json,package.json,.travis.yml,bitbucket-pipelines.yml}]
[{composer.json,package.json,.travis.yml}]
indent_style = space
indent_size = 2
indent_size = 2
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# IDEA
# IDE
/.idea

# Composer
/composer.lock
/vendor
/composer.lock

# Tests
/temp/
/tests/*.log
/tests/tmp
/tests/coverage.html
/coverage.xml
26 changes: 12 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
language: php

php:
- 5.6
- 7.0
- 7.1
- 7.2
- 7.1
- 7.2

before_install:
# turn off XDebug
Expand All @@ -19,42 +18,41 @@ script:

jobs:
include:
- env: title="Lowest Dependencies 5.6"
php: 5.6
- env: title="Lowest Dependencies 7.1"
php: 7.1
install:
- travis_retry composer update --no-progress --prefer-dist --prefer-lowest
script:
- composer run-script tester

- env: title="Lowest Dependencies 7.1"
php: 7.1
- env: title="Lowest Dependencies 7.2"
php: 7.2
install:
- travis_retry composer update --no-progress --prefer-dist --prefer-lowest
script:
- composer run-script tester

- stage: Quality Assurance
php: 7.1
php: 7.2
script:
- composer run-script qa

- stage: Test Coverage
php: 7.1
php: 7.2
script:
- composer run-script coverage
after_script:
- wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar
- wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.0.0/php-coveralls.phar
- php coveralls.phar --verbose --config tests/.coveralls.yml

- stage: Phpstan
php: 7.1
php: 7.2
script:
- composer run-script phpstan-install
- composer run-script phpstan

allow_failures:
- stage: Test Coverage
- stage: Phpstan

after_failure:
# Print *.actual content
Expand All @@ -64,4 +62,4 @@ sudo: false

cache:
directories:
- $HOME/.composer/cache
- $HOME/.composer/cache
126 changes: 17 additions & 109 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ Doctrine-like events for Nextras ORM entity lifecycle.
[![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)
[![Downloads total](https://img.shields.io/packagist/dt/contributte/nextras-orm-events.svg?style=flat-square)](https://packagist.org/packages/contributte/nextras-orm-events)
[![Latest stable](https://img.shields.io/packagist/v/contributte/nextras-orm-events.svg?style=flat-square)](https://packagist.org/packages/contributte/nextras-orm-events)

## Discussion / Help

[![Join the chat](https://img.shields.io/gitter/room/contributte/contributte.svg?style=flat-square)](http://bit.ly/ctteg)

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

| State | Version | Branch | PHP | |
|-------------|---------|----------|----------|-|
| development | `^0.4` | `master` | `>= 5.6` ||
| development | `^0.5` | `master` | `>= 7.1` ||
| stable | `^0.4` | `master` | `>= 7.1` ||
| stable | `^0.3` | `master` | `>= 5.6` ||
| stable | `^0.2` | `master` | `>= 5.6` |(old namespace)|

## Usage

### Config

```yaml
extensions:
orm.events: Contributte\Nextras\Orm\Events\DI\NextrasOrmEventsExtension
```
```yaml
services:
- App\Model\BeforePersistListener
```
### Entity
Just add annotation `@<Before/Update>` to your entity.

```php
/**
* @BeforeInsert(App\Model\BeforeInsertListener)
* @BeforePersist(App\Model\BeforePersistListener)
* @BeforeRemove(App\Model\BeforeRemoveListener)
* @BeforeUpdate(App\Model\BeforeUpdateListener)
* @AfterInsert(App\Model\AfterInsertListener)
* @AfterPersist(App\Model\AfterPersistListener)
* @AfterRemove(App\Model\AfterRemoveListener)
* @AfterUpdate(App\Model\AfterUpdateListener)
* @Lifecycle(App\Model\LifecycleListener)
*/
class Foo extends Entity
{
}
```

### Service

```php
namespace App\Model;
use Contributte\Nextras\Orm\Events\Listeners\BeforePersistListener;
use Nextras\Orm\Entity\IEntity;
final class BeforePersistListener implements BeforePersistListener
{
/**
* @param IEntity $entity
* @return void
*/
public function onBeforePersist(IEntity $entity)
{
// ...
}
}
```

### Real example

```yaml
service:
- App\Model\FooBeforeInsertListener
```

```php
/**
* @BeforeInsert(App\Model\FooBeforeInsertListener)
*/
class Foo extends Entity
{
}
```

```php
// Generated container..
/**
* @return FooRepository
*/
public function createServiceOrm__repositories__foo()
{
$service = new FooRepository(
$this->getService('orm.mappers.foo'),
$this->getService('orm.dependencyProvider')
);
$service->setModel($this->getService('orm.model'));
// ===== attaching events (provided by extension =====
$service->onBeforeInsert[] = [
$this->getService('App\Model\FooBeforeInsertListener'),
'onBeforeInsert',
];
// ===== attaching events ============================
return $service;
}
```

That's all. Super ultra simple.
## Overview
- [Config](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#config)
- [Entity](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#entity)
- [Service](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#service)
- [Real example](https://github.com/contributte/nextras-orm-events/blob/master/.docs/README.md#real-example)

## Maintainers

Expand All @@ -148,8 +49,15 @@ That's all. Super ultra simple.
</br>
<a href="https://github.com/f3l1x">Milan Felix Šulc</a>
</td>
<td align="center">
<a href="https://github.com/mabar">
<img width="150" height="150" src="https://avatars0.githubusercontent.com/u/20974277?s=400&v=4">
</a>
</br>
<a href="https://github.com/mabar">Marek Bartoš</a>
</td>
</tr>
</tbody>
<tbody>
</table>

-------
Expand Down
Loading

0 comments on commit 19d2be1

Please sign in to comment.