PHPackages                             kesmenenver/servicelayer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kesmenenver/servicelayer

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

kesmenenver/servicelayer
========================

The Service Layer is a design pattern that will help you to abstract your logic when you need to use different front-end on your application, for your domain logic

99792[1 issues](https://github.com/EnverKESMEN/l5-service-layer/issues)PHP

Since Jun 5Pushed 8y ago1 watchersCompare

[ Source](https://github.com/EnverKESMEN/l5-service-layer)[ Packagist](https://packagist.org/packages/kesmenenver/servicelayer)[ RSS](/packages/kesmenenver-servicelayer/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Service Layer
=====================

[](#laravel-service-layer)

Laravel Service Layer is a package for Laravel 5 which is used to abstract the bussiness logic in service layer. This makes applications much easier to maintain.

Installation
------------

[](#installation)

Run the following command from you terminal:

```
composer require kesmenenver/servicelayer
```

or add this to require section in your composer.json file:

```
 "kesmenenver/servicelayer": "dev-master"

```

then run `composer update`

Usage
-----

[](#usage)

Imagine an application where users create products. You can't do this process in contoller because controllers have to be glue code for all layers so you need a service layer for that. It's easy with this package.

First

```
php artisan make:service CreateProduct

```

This command will created one interface and one class in app/Services folder. You have to implement make() method in `app/services/CreateProduct`. We will use Interface for DI in controller later.

`app/services/CreateProduct` looks like this.

```
