Creating api model traits - Kaoschuks/php-angularJS GitHub Wiki
*** Need To Know **
- Traits are what various controls and modules would have as an exisiting characteristics and also url
- Traits uses various request method : POST - Add or Save or Create GET - Read PUT - Update DELETE - remove or delete e.g Blog uses traits manager/category/review/files giving to urls such as Add ("url": "http://localhost/php-angularJS/api/Blog", "method": "POST",) Remove ("url": "http://localhost/php-angularJS/api/Blog/id/2","method": "DELETE",) Update ("url": "http://localhost/php-angularJS/api/Blog/id/2","method": "PUT",) Read all ("url": "http://localhost/php-angularJS/api/Blog, "method": "GET",) ETC
*** Creating Traits *** e.g
#!php
Trait Test
{
use DBManager;
static $map = array(),
$response;
final static function init()
{
$key = explode('/', $_REQUEST['controller']);
unset($key[0]);
$count = count($key);
DBManager::connect();
switch($_SERVER['REQUEST_METHOD'])
{
case "DELETE":
{
if($count !== 2)
{
self::$response = 'Bad request';
}
DBManager::$data[$key[1]] = str_replace("-", " ", $key[2]);
DBManager::$key = str_replace("-", " ", $key[1]);
self::$response = (self::$response !== 'Bad request')
? Response::json(200, DBManager::Delete())
: self::$response;
break;
}
case "POST":
{
DBManager::$data = mapping($_POST, Manager::$map);
DBManager::$data = $_POST;
self::$response = (DBManager::Add() === 'Inserted')
? Response::json(200, " inserted")
: Response::json(200, " not inserted") ;
break;
}
case "PUT":
{
parse_str(file_get_contents("php://input"), $GLOBALS['PUT']);
$GLOBALS['PUT'] = mapping($GLOBALS['PUT'], Manager::$map);
if($count !== 2)
{
self::$response = 'Bad request';
}
@ DBManager::$data[$key[1]] = @ str_replace("-", " ", $key[2]);
@ DBManager::$key[0] = @ str_replace("-", " ", $key[1]);
self::$response = (self::$response !== 'Bad request')
? Response::json(200, DBManager::Update())
: Response::json(400, self::$response);
break;
}
case "GET":
{
DBManager::$key = null;
if($count % 2 == 0)
{
foreach($key as $index => $values)
{
if($index % 2 === 0)
{
DBManager::$data[@ $key[$index-1]] = str_replace("-", " ", $values);
}elseif($index % 2 !== 0){
DBManager::$key[] = str_replace("-", " ", $values);
}
}
}
elseif($count % 2 != 0 && $count < 4 && $count > 1)
{
DBManager::$key[0] = 0;
DBManager::$key[1] = 1;
DBManager::$data[0] = $key[2];
DBManager::$data[1] = str_replace("-", " ", $key[3]);
DBManager::$cat = str_replace("-", " ", $key[1]);
}
self::$response = (self::$response !== 'Bad request')
? Response::json(200, DBManager::Read())
: Response::json(400, self::$response);
break;
}
}
DBManager::disconnect();
return self::$response;
}
final static function Search()
{
DBManager::connect();
$response = Response::json(200, DBManager::Search());
DBManager::disconnect();
return $response;
}
}