Ejemplo Rest

De KumbiaPHP Framework Wiki
{{#if:Import.png |}} {{#if: |}}


Controlador que hereda de RestController

Mediante este ejemplo se muestra la forma de usar REST con KumbiaPHP.

<?php
//carga el modelo
Load::model('books');
class LibrosController extends RestController{
    /**
     * Retorna informacion del libro con $id 
     * metodo get libros/:id
     */
    public function get($id){
        $book = new Books();
        $this->data = $book->find($id);
    }
    
    /**
     * Lista los libros
     * metodo get libros/
     */
    public function getAll(){
	$book = new Books();
        $this->data = $book->find();
    }
	
    /**
     * Crea un nuevo libro
     * metodo post libros/
     */
    public function post(){
	$book = new Books();
	if($book->save($this->param())){
		$this->setCode(201);
		$this->data = $book;
	}else{
		$this->data = $this->error("error inesperado", 400);
	}
    }
	
    /**
     * Modifica un libro por $id
     * metodo put libros/:id
     */
    public function put($id){
	$book = new Books();
	$book = $book->find((int)$id);
	if($book->save($this->param())){
		$this->setCode(202);
		$this->data = $book;
	}else{
		$this->data = $this->error("error inesperado", 400);
	}
    }
	
    /**
     * Elimina un libro por $id
     * metodo delete libros/:id
     */
    public function delete($id){
	$book = new Books();
	if($book->delete((int)$id)){
		$this->setCode(200);
		$this->data = array();
	}else{
		$this->data = $this->error("error inesperado", 400);
	}	
    }
}

Recomendado su uso en