19-08-2008, 03:04 PM
Pour répondre au post de zzarbi :
Merci pour l'explication et le lien sur les DAO, c'est vrai que ça pourrait me servir. Parce que jusqu'à maintneant, j'ai toujours fait à peu près ça quand je fais de l'OO en php :
Ca me saoule d'écrire 30 getters et 30 setters... c'est dommage que php ne peut pas remplir les variables d'insstances vers sql et vice-versa, mais ton truc pourrait m'être utile, on ne sait jamais.
Citation :Tu vas pas me dire qu'à chaque projet tes requêtes SQL Changent...Ben si : select * from users, c'est pas pareil que select * from articles. La syntaxe SQL est la même, mais les données ne sont pas traités de la même façon. ON ne fait pas la même chose avec.
Citation :Mais voila smarty par exemple apporte la gestion du cache, et d'autre outils plutôt intéressant que tu ne pourra pas faire en PHP sans apporter du code.Faire un système de cache, c'est pas ce qu'il y a de plus difficile à faire. fil_exists, filemtime, file_Get_contents, l'output buffering et la sérialisation si besoin, et basta.
Merci pour l'explication et le lien sur les DAO, c'est vrai que ça pourrait me servir. Parce que jusqu'à maintneant, j'ai toujours fait à peu près ça quand je fais de l'OO en php :
Code :
<?php
class User {
private __construct ($data) {
foreach ($data as $key=>$value) {
$this->$key=$value;
}}
public function updateToDb () {
$sql = '';
foreach ($this as $key=>$value) {
if (!is_string($value) && !is_int($value) && !is_float($value)) continue;
$sql .= ($sql? ', ':'') ."$key='$value'";
}
mysql("update users set $sql where id = {$this->id}");
}
// ...
public static function getByPseudo ($pseudo) {
$pseudo = mysqlEscape($pseudo);
$data = mysqlRow("select * from users where pseudo = '$pseudo'");
return new User($data);
}
public static function getById ($id) {
// ...
}
// ...
}
?>
html, javascript, blagues, midi, etc. => http://quentinc.net/