Tag Archive | "rest"

Tags: , ,

Supprimer des éléments d’un formulaire avec le framework PHP Recess

Posted on 17 November 2010 by adrien

Le framework Recess vous permet de créer des api REST en PHP pour vos applications.
Il possède entre autres un système sympa de générations d’objets (models) et une génération automatique de formulaires pour pouvoir les créer/modifier/supprimer/mettre à jour.

Seulement il peut arriver que vous n’ayez pas envie qu’un champ soit modifiable car vous lui attribuez une valeur directement dans votre code source, donc autant ne pas afficher le bouton ou champ input correspondant.

Pour ceci, c’est très simple, on reprend une méthode déjà exposé dans ce billet précédent sur le traitement avant insertion mais qu’on applique pour notre forms:

/** !Route GET, new */
function newForm() {
$this->_form->to(Methods::POST, $this->urlTo('insert'));
unset($this->_form->inputs['theFieldToHide']);
return $this->ok('editForm');
}

Et c’est tout, votre formulaire ne contiendra pas ce champ. Simple mais il fallu que je fouille pour trouver!

Comments (0)

Tags: , ,

Recess Framework: traitement avant insertion ou update

Posted on 06 May 2010 by adrien

Dans un de mes projets, j’utilise le framework Recess pour créer une API REST en php. Ce framework est intéressant mais jeune et il peut être long de trouver une information simple.

Ici mon besoin était de faire un traitement sur le model avant son insertion en base. On peut facilement faire ceci en utilisant l’annotation !Before dans l’objet. Voici un exemple:

class user extends Model {
/** !Column PrimaryKey, Integer, AutoIncrement */
public $id;

/** !Column DateTime */
public $creation_date;

/** !Column String */
public $name;

/** !Before insert */
public function beforeInsert() {
$this->creation_date = time();
}

/** !Before update */
public function beforeUpdate() {
//we block update of creation date
unset($this->creation_date);

}

}

On remarque en passant que les champs qui sont en datetime en base de donnée sont traités en timestamp sous Recess.
Lors de l’update on fait un unset sur la variable $creation_date, ainsi elle ne sera pas traitée par le framework.

Comments (1)