PHP code example of moaalaa / laravel-api-responder
1. Go to this page and download the library: Download moaalaa/laravel-api-responder 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/ */
namespace App\Http\Controllers;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
return $this->api()->response(User::first());
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
// $this->api()->response($data, $error = null, int $code = 200, $additional = [], $wrap = 'payload');
$this->api()->response(User::first(), null, 200, function () {
return ['foo' => 'bar'];
}, 'baz');
return $this->api()->response(User::first());
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
$users = User::where(...)->take(...)->get();
return $this->api()->responseWith($users);
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
return $this->api()->response(User::paginate($this->api()->getPaginateLimit()));
}
}
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use MoaAlaa\ApiResponder\ApiResponder;
class AppServiceProvider extends ServiceProvider
{
use ApiResponder;
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->api()->setPaginationLimit(20);
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
// Default Pagination Limit
return $this->api()->response(User::paginate($this->api()->getPaginateLimit()));
// Run-Time Set Pagination Limit
return $this->api()->setPaginateLimit(50)->response(User::paginate($this->api()->getPaginateLimit()));
}
}
// Simple User Api Login Example
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class LoginController extends Controller
{
use ApiResponder;
public function login(Request $request)
{
if (! $token = auth()->attempt($request->only(['email', 'password']))) {
return $this->api()->error($token, Response::HTTP_NOT_FOUND)
}
return $this->api()->response(['token' => $token]);
}
}
// Simple User Api Login Example
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class LoginController extends Controller
{
use ApiResponder;
public function login(Request $request)
{
try {
$request->validate(...);
if (! $token = auth()->attempt($request->only(['email', 'password']))) {
return $this->api()->error($token, Response::HTTP_NOT_FOUND)
}
return $this->api()->response(['token' => $token]);
} catch(\Exception $ex) {
return $this->api()->safeError($ex);
}
}
}
// Simple User Api Login Example
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class LoginController extends Controller
{
use ApiResponder;
public function login(Request $request)
{
try {
$validated = $this->api()->validate([
'email' => '
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
return $this->api()->with(['foo' => 'bar'])->response(User::first());
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
return $this->api()->withFoo('bar')->response(User::first()); // ->withFoo('bar') Will Convert To ['foo' => 'bar']
return $this->api()->withFoo(['bar', 'baz'])->response(User::first()); // ->withFoo(['bar', 'baz']) Will Convert To ['foo' => ['bar', 'baz']]
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
return $this->api()->getWrapping(); // "payload" is The Default
}
}
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use MoaAlaa\ApiResponder\ApiResponder;
class AppServiceProvider extends ServiceProvider
{
use ApiResponder;
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->api()->setWrapping('foo');
$this->api()->wrapping('foo');
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
}
}
namespace App\Http\Controllers;
use App\User;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
// return $this->api()->getWrapping(); // "foo"
return $this->api()->response(...); // Now All Response Data Will Be In "foo" Key String
// Run-Time Set Wrapping
return $this->api()->setWrapping('bar')->response(...); // Now All Response Data Will Be In "bar" Key String
// Run-Time Set Wrapping
return $this->api()->wrapping('baz')->response(...); // Now All Response Data Will Be In "baz" Key String
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use App\Post;
use App\Setting;
use MoaAlaa\ApiResponder\ApiResponder;
class HomeController extends Controller
{
use ApiResponder;
public function index()
{
$this->api()
->with(['posts'=> Post::all()])
->withSettings(Setting::all())
->wrapping('myData')
->response(User::paginate($this->api()->getPaginateLimit()), null, 200, function () {
return ['token' => auth()->user()->token];
});
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.