Ejemplo Rest

De KumbiaPHP Framework Wiki
Revisión del 05:22 16 may 2014 de 201.190.18.123 (discusión)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
{{#if:Import.png |}} {{#if: |}}



Por defecto cada acción se llama como el método usado por el cliente (GET, POST, PUT, DELETE, OPTIONS, HEADERS, PURGE...) ademas se puede añadir mas acciones colocando delante el nombre del método seguido del nombre de la acción put_cancel, post_reset, etc.

Ejemplo de controlador que hereda de RestController[editar]

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((int)$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[editar]