jjsoft-ar/jjsoft-api

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# JJSoft API Package

[![Latest Version on Packagist][ico-version]][link-packagist]
[![Software License][ico-license]](LICENSE.md)
[![Build Status][ico-travis]][link-travis]
[![Coverage Status][ico-scrutinizer]][link-scrutinizer]
[![Quality Score][ico-code-quality]][link-code-quality]
[![Total Downloads][ico-downloads]][link-downloads]

## Installation

Clone this repo with minimal history:

```sh
git clone --depth 1 git@github.com:cviebrock/laravel5-package-template.git
```

Rename the directory and re-init it as your own package:

```sh
mv laravel5-package-template my-package
cd my-package
rm -rf .git
git init
```


## Configuration

The boilerplate files provide a scaffold for building your own package.  You'll need to make a bunch of changes to the files we've provided to make it your own.


### composer.json

Edit `composer.json` to reflect your package information.  At a minimum, you will need to change the package name and autoload lines so that "vendor/package" reflects your new package's name and namespace.

```json
{
    "name": "vendor/package",
    ...
    "autoload": {
        "psr-4": {
            "Vendor\\Package\\": "src/"
        }
    },
    ...
},
```


### config/packagename.php

Rename `config/packagename.php` to something more useful, like `config/my-package.php`.  This is the configuration file that Laravel will publish into it's `config` directory.  Laravel 5 doesn't use the `config/packages/vendor/...` structure that Laravel 4 did, so pick a file name that's not likely to conflict with existing configuration files.


### src/ServiceProvider.php

Open up `src/ServiceProvider.php` as well.  At a minimum you'll need to change the namespace at the top of the file (it needs to match the PSR-4 namespace you set in `composer.json`).

In the `boot()` method, comment out or uncomment the components your package will need.  For example, if your package only has a configuration, then you can comment out everything except the `handleConfigs()` call:

```php
public function boot() {
    $this->handleConfigs();
    // $this->handleMigrations();
    // $this->handleViews();
    // $this->handleTranslations();
    // $this->handleRoutes();
}
```

In the `handleConfigs()` method, you'll want to change the "packagename" references to the name you chose up above (in the [config/packagename.php] instructions).

For the other methods, again change instances of "vendor" and "packagename" to your package's name.


### Last Steps

Update the `LICENSE` file as required (make sure it matches what you said your package's license is in `composer.json`).

Finally, edit this `README.md` file and replace it with a description of your own, awesome Laravel 5 package.

Commit everything to your (newly initialized) git repo, and push it wherever you'll keep your package (Github, etc.).

Enjoy coding!

[ico-version]: https://img.shields.io/packagist/v/jjsoft-ar/jjsoft-api.svg?style=flat-square
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
[ico-travis]: https://travis-ci.org/jjsoft-ar/jjsoft-api.svg?branch=1.0.1
[ico-scrutinizer]: https://codeclimate.com/github/jjsoft-ar/jjsoft-api/badges/coverage.svg
[ico-code-quality]: https://codeclimate.com/github/jjsoft-ar/jjsoft-api/badges/gpa.svg
[ico-downloads]: https://img.shields.io/packagist/dt/jjsoft-ar/jjsoft-api.svg?style=flat-square

[link-packagist]: https://packagist.org/packages/jjsoft-ar/jjsoft-api
[link-travis]: https://travis-ci.org/jjsoft-ar/jjsoft-api
[link-scrutinizer]: https://codeclimate.com/github/jjsoft-ar/jjsoft-api/coverage
[link-code-quality]: https://codeclimate.com/github/jjsoft-ar/jjsoft-api
[link-downloads]: https://packagist.org/packages/jjsoft-ar/jjsoft-api
[link-author]: https://github.com/aguaragazu
[link-issues]: https://github.com/jjsoft-ar/jjsoft-api/issues