1. Go to this page and download the library: Download indatus/ranger library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
indatus / ranger example snippets
class UsersController extends Indatus\Ranger\ApiBaseController {
/**
* Illuminate\Database\Eloquent
*
* @var User
*/
protected $user;
public function __construct(User $user)
{
$this->user = $user;
}
/**
* @return Illuminate\View\Environment | Json string
*/
public function index()
{
return $this->handleAction($this->user);
}
/**
* @return Illuminate\Routing\Redirector | Json string
*/
public function store()
{
return $this->handleAction($this->user);
}
/**
* @param $id - id of the model instance
* @return Illuminate\View\Environment | Json string
*/
public function show($id)
{
return $this->handleAction($this->user, $id);
}
/**
* @param int $id
* @return Illuminate\Routing\Redirector | Json string
*/
public function update($id)
{
return $this->handleAction($this->user, $id);
}
/**
*
* @param int $id
* @return Illuminate\Routing\Redirector | Json string
*/
public function destroy($id)
{
return $this->handleAction($this->user, $id);
}
}
//It's always a good idea to prefix your api
Route::group(['prefix' => 'v1'], function() {
Route::resource('users', 'UsersController');
});
class AccountsController extends Indatus\Ranger\ApiBaseController {
//because it's a nested resource we must have this
protected $belongsTo = 'users';
/**
* account Repository
*
* @var account
*/
protected $account;
public function __construct(Account $account)
{
$this->account = $account;
}
/**
* Display all accounts for a specific user.
*
* @param int $user_id The user id
* @return View or JSON response based on the request
*/
public function index($user_id)
{
$passToView = ['test' => 'this is a test message'];
return $this->handleAction($this->account, null, compact('user_id'), $passToView);
}
/**
* Show the form for creating a new account.
*
* @param int $user_id The user id
* @return View for creating a new account
*/
public function create($user_id)
{
return $this->handleAction($this->account, null, compact('user_id'));
}
/**
* Store a newly created account.
*
* @param int $user_id The user id
* @return Redirect or JSON response based on the request format
*/
public function store($user_id)
{
return $this->handleAction($this->account, null, compact('user_id'));
}
/**
* Display the specified account.
*
* @param int $user_id The user id
* @param int $id The account id
* @return View or JSON response based on the request format
*/
public function show($user_id, $id)
{
return $this->handleAction($this->account, $id, compact('user_id'));
}
/**
* Show the form for editing the specified account.
*
* @param int $user_id The user id
* @param int $id The account id
* @return View for updating a account
*/
public function edit($user_id, $id)
{
// if using html, you can pass additional parameters to the view
$passToView = ['test' => 'this is a test message'];
return $this->handleAction($this->account, $id, compact('user_id'), $passToView);
}
/**
* Update the specified account.
*
* @param int $user_id The user id
* @param int $id The account id
* @return Redirect or JSON response based on the request format
*/
public function update($user_id, $id)
{
return $this->handleAction($this->account, $id, compact('user_id'));
}
/**
* Remove the specified account from storage.
*
* @param int $user_id The user id
* @param int $id The account id
* @return Redirect or JSON response based on the request format
*/
public function destroy($user_id, $id)
{
return $this->handleAction($this->account, $id, compact('user_id'));
}
}
//It's always a good idea to prefix your api
Route::group(['prefix' => 'v1'], function() {
Route::resource('users.accounts', 'AccountsController');
});
`
php artisan config:publish indatus/ranger
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.