PHP code example of joalcapa / gauler

1. Go to this page and download the library: Download joalcapa/gauler 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/ */

    

joalcapa / gauler example snippets

 php

// config/config.php
return [
    'database' => [
        'driver' => env('DRIVER_DB', 'MySql'),
        'host' => env('HOST_DB', 'localhost'),
        'port' => env('PORT_DB', '3306'),
        'user' => env('USER_DB', 'root'),
        'password' => env('PASSWORD_DB', ''),
        'db' => env('DATABASE_DB', ''),
    ],
    'auth' => [
        'key' => env('KEY_AUTH', 'my_key_secret'),
    ],
    'api' => [
        'version' => 1
    ]
];
 php
// api/models/HeroesModel.php


namespace Gauler\Api\Models;

use Joalcapa\Fundamentary\App\Models\BaseModel as Model;

class HeroesModel extends Model {

  public static $model = 'Heroes';

  protected $tuples = [
	 'name',
	 'powerType',
  ];

  protected $hidden_tuples = [
  ];
}
 php

use Gauler\Api\Models\HeroesModel as Heroes;

$heroe = new Heroes();
$heroe->name = 'Ironman';
$heroe->powerType = 'Conocimiento';
$heroe->save();
 php
$heroe->id;
 php

use Gauler\Api\Models\HeroesModel as Heroes;

$heroe = new Heroes($request);
$heroe->id;
 php
use Gauler\Api\Models\HeroesModel as Heroes;

$heroe = Heroes::find($id);
 php
use Gauler\Api\Models\HeroesModel as Heroes;

$filters = [
   Heroes::EQUALS('powerType', 'run fast')
];
$heroes = Heroes::where($filters);
 php
use Gauler\Api\Models\HeroesModel as Heroes;

$filters = [
   Heroes::EQUALS('powerType', 'run fast')
];
$heroes = Heroes::where($filters);
 php
use Gauler\Api\Models\HeroesModel as Heroes;

$filters = [
   Heroes::EQUALS('powerType', 'run fast'),
   Heroes::EQUALS('id', $request->id)
];
 php
use Gauler\Api\Models\HeroesModel as Heroes;

$filters = [
   Heroes::EQUALS('powerType', 'run fast'),
   Heroes::OR(
      Heroes::EQUALS('powerType', 'other power'),
      Heroes::EQUALS('id', $request->id)
   )
];
 php
use Gauler\Api\Models\HeroesModel as Heroes;

$heroe = Heroes::find($request->id);

foreach($heroe->getTuples() as $tuple)
   if(!empty($request->$tuple))
       $heroe->$tuple = $request->$tuple;

$heroe->update();
 php
use Gauler\Api\Models\HeroesModel as Heroes;

$heroe = Heroes::updateRequest($request);
 php
use Gauler\Api\Models\HeroesModel as Heroes;

Heroes::destroy($id);
 php
// routes/rest.php


Rest::Model('heroes');

 php
// routes/rest.php


Rest::Model('heroes', function($request) {
  // codigo
  // killer('401');
  return $request;
});

 php
// routes/api.php


Api::Route('/hello', 'api@hello');

 php
// api/controllers/apiController.php


namespace Gauler\Api\Controllers;

class ApiController {

    public function hello($request) {
        return [
            'message' => 'hello'
        ];
    }
}

 php
// routes/rest.php


Api::Route('/hello', 'api@hello', function($request) {
    // killer('401');
    return $request;
});

 php
// Api/Middlewares/ApiMiddleware.php


namespace Gauler\Api\Middlewares;

class ApiMiddleware {

    public function middle($request, $next) {
        // killer(401);
        $next();
    }
}
 php
// routes/api.php


Middleware::Meet('api', function() {
     // Aqui puede colocar las rutas que desee
     Api::Route('/hello', 'api@hello');
});
 php
// api/controllers/HeroesController.php


namespace Gauler\Api\Controllers;

class HeroesController extends Controller {

  public function index($request) {
  }

  public function show($id) {		
  }
	
  public function store($request) {		
  }
	
  public function update($id, $request) {		
  }
	
  public function destroy($id) {		
  }
}
 php
// api/models/HeroesModel.php

protected $tuples = [  
  'name',  
  'powerType',
];

 php
// api/controllers/HeroesController.php

public function store($request) {	
  $heroe = new Heroe($request);
  return $heroe;
}

 php
// seeders/UsersSeeder.php


namespace Gauler\Seeders;

use Gauler\api\models\UsersModel as Users;

class UsersSeeder {

    public function boom() {
        $user = new Users();
        $user->name = 'admin';
        $user->email = '[email protected]';
        $user->password = hashBCrypt('123456789Password');
        $user->save();
    }
}

php gaulerium seeder UsersSeeder
 
Authorization: Bearer $token
 php
// api/models/HeroesModel.php


namespace Gauler\Api\Models;

use Joalcapa\Fundamentary\App\Models\BaseModel as Model;

class HeroesModel extends Model {

  public static $model = 'Heroes';

  protected $tuples = [
    'name',
	'powerType',
  ];

  protected $hidden_tuples = [
  ];
}

php gaulerium createMiddleware name
 php


namespace Gauler\Api\Middlewares;

class NameMiddleware {

    public function middle($request, $next) {
        // killer(401);
        $next();
    }
}

php gaulerium createController heroe
 php
// api/controllers/HeroesController.php


namespace Gauler\Api\Controllers;

class HeroesController extends Controller {

  public function index($request) {
  }

  public function show($id) {		
  }

  public function store($request) {		
  }

  public function update($id, $request) {		
  }

  public function destroy($id) {		
  }
}

1550349238HeroesMigration.php
 php
// database/migrations/1550349238HeroesMigration.php


namespace Gauler\Database\Migrations;

use Joalcapa\Elementary\Generics\TypeAttrQ as TypeAttrQ;
use Joalcapa\Elementary\Migrations\BaseMigration as Migration;

class HeroesMigration extends Migration {

  public $attributes = [
	'name' => TypeAttrQ::STRING,
	'power' => TypeAttrQ::STRING,
  ];
}

php gaulerium migrate [nameModel]

php gaulerium createSeeder heroe
 php
// seeders/HeroesSeeder.php


namespace Gauler\Seeders;

class HeroesSeeder {

    public function boom() {
    }
}

php gaulerium seeder [nameSeeder]