laravel-ngsc
, (*1)
A Laravel 5 Package for providing a fluent API for states, lgas and cities in Nigeria, (*2)
Installation
PHP 5.4+ or HHVM 3.3+, and Composer are required., (*3)
To get the latest version of Laravel Ngsc, simply add the following line to the require block of your composer.json
file., (*4)
"unicodeveloper/laravel-ngsc": "1.0.*"
You'll then need to run composer install
or composer update
to download it and have the autoloader updated., (*5)
Once Laravel Ngsc is installed, you need to register the service provider. Open up config/app.php
and add the following to the providers
key., (*6)
Unicodeveloper\Ngsc\NgscServiceProvider::class
Also, register the Facade like so:, (*7)
'aliases' => [
...
'Ngsc' => Unicodeveloper\Ngsc\Facades\NgscFacade::class,
...
]
Configuration
To get started, you'll need to publish all vendor assets:, (*8)
$ php artisan vendor:publish --provider="Unicodeveloper\Ngsc\NgscServiceProvider"
Usage
You can use it in your controller by using Dependency Injection like so:, (*9)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Unicodeveloper\Ngsc\Ngsc;
use App\Http\Controllers\Controller;
class StateController extends Controller
{
protected $ngsc;
public function __construct(Ngsc $ngsc)
{
$this->ngsc = $ngsc;
}
/**
* Get all states
* @return array
*/
public function getAllStates()
{
return $this->ngsc->getAllStates();
}
}
You can also simply use the awesome Facades like so:, (*10)
/**
* Gets all the states in Nigeria
* @return array
*/
Ngsc::getAllStates()
/**
* Gets the details of just one state, e.g capital, lat, lng
* @param string state or state code
* @return array
*/
Ngsc::getOneState('lagos') OR Ngsc::getOneState('LA')
/**
* Gets the local government areas of just one state
* @param string state or state code
* @return array
*/
Ngsc::getLGAS('lagos') OR Ngsc::getLGAS('LA')
/**
* Gets the cities of just one state
* @param string state or state code
* @return array
*/
Ngsc::getCities('lagos') OR Ngsc::getCities('LA')
Appreciation
Huge thanks go to the Devcenter.co crew for providing a fluent and awesome API, (*11)
Contributing
Please feel free to fork this package and contribute by submitting a pull request to enhance the functionalities., (*12)
How can I thank you?
Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the word!, (*13)
Don't forget to follow me on twitter!, (*14)
Thanks!
Prosper Otemuyiwa., (*15)
License
The MIT License (MIT). Please see License File for more information., (*16)