Generation squelette appli php auto

Le
laurent sturm
Bonjour,

J'ai développé une application php qui permet de générer automatiquement les
fichiers php "communs" et les "templates smarty".
J'explique:
Aprés création d'une base de donnée (MySql), l'application génére
automatiquement les fichiers suivant:
- "func.php" dans lequel on va trouver toutes les fonctions qui vont
permettre le lister / Insérer / Modifier / Supprimer
- "ui.php" dans lequel on liste les actions possibles et on affiche le
template approprié
- les templates d'affichage de liste, d'insertion / modification et menu

Bref ma question est la suivante:
Est ce qu'une application de ce genre existe déjà ?

@+


Exemple :
Pou une table 'acces' de shéma suivant :
CREATE TABLE `acces` (
`id_acces` int(10) unsigned NOT NULL auto_increment,
`nom` varchar(50) collate utf8_bin default NULL,
`prenom` varchar(50) collate utf8_bin default NULL,
`email` varchar(50) collate utf8_bin default NULL,
`passeport` varchar(50) collate utf8_bin default NULL,
`droit` varchar(10) collate utf8_bin NOT NULL,
PRIMARY KEY (`id_acces`)
) ;

on va obtenir :
un fichier "index.php":

un fichier "fun.php": extrait
function selectAllAcces()
{
global $db;

$query="SELECT * FROM acces ORDER BY id_acces ";
$db->query($query);
while($r=$db->resultFetchAssoc())
{
$res[] =
array("id_acces"=>$r[id_acces],"nom"=>$r[nom],"prenom"=>$r[prenom],"email"=>$r[email],"passeport"=>$r[passeport],"droit"=>$r[droit],"initiale"=>$r[initiale],"boutique"=>$r[boutique]);
}

return $res;
}

etc

un fichier "ui.php":
<?

$menu = $smarty->fetch("menu.tpl","menu");
$smarty->assign("menu",$menu);

switch($action)
{
//Début des actions sur table acces
case 'selectAllAcces':
if(!$smarty->is_cached("ui.tpl","selectAllAcces"))
{
$smarty->caching=2;
$smarty->cache_lifetime = CONST_SMARTYCACHELIFETIME;
$res=selectAllAcces();
$smarty->assign('allacces',$res);
}
$tpl="selectAllAcces.tpl";
break;

etc

un template "InserAcces.tpl"
un template "selectAllAcces.tpl"
un template "ui.tpl"
un template "menu.tpl"

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
ftc
Le #103642
Bonjour,

J'ai développé une application php qui permet de générer automatiquement les
fichiers php "communs" et les "templates smarty".
J'explique:
Aprés création d'une base de donnée (MySql), l'application génére
automatiquement les fichiers suivant:
- "func.php" dans lequel on va trouver toutes les fonctions qui vont
permettre le lister / Insérer / Modifier / Supprimer
- "ui.php" dans lequel on liste les actions possibles et on affiche le
template approprié
- les templates d'affichage de liste, d'insertion / modification et menu

Bref ma question est la suivante:
Est ce qu'une application de ce genre existe déjà ?


En fait, c'est la première utilité de ce que l'on appelle un framework.

La plupart des framework en PHP ( Python ou Ruby aussi ) le font.
Exemple, avec Symfony, on décrit le schéma de la bdd dans un fichier xml
ou yaml, on décrit les champs des formulaire et le système génère les
interface à la bdd, les formulaires etc ...
Avec CakePHP, le système fait une introspection de la bdd et te génère à
la volée les interfaces, je crois qu'il y a quand même un système de cache.

C'est le cas aussi avec Django en Python et avec Ruby on Rails, je
suppose que c'est la même chose.

jeancharles gibier
Le #103640

Bonjour,

J'ai développé une application php qui permet de générer automatiquement les
fichiers php "communs" et les "templates smarty".
J'explique:
Aprés création d'une base de donnée (MySql), l'application génére
automatiquement les fichiers suivant:
- "func.php" dans lequel on va trouver toutes les fonctions qui vont
permettre le lister / Insérer / Modifier / Supprimer
- "ui.php" dans lequel on liste les actions possibles et on affiche le
template approprié
- les templates d'affichage de liste, d'insertion / modification et menu

Bref ma question est la suivante:
Est ce qu'une application de ce genre existe déjà ?

@+


Outre les réponses antérieures, c'est aussi un modèle standard de desing
pattern dit CRUD : (Create, Read, Update, Delete)
Il y a pas mal de références sur Google.
<mode type="curieux">
Quelle est la vocation de ton développement:
fins personnelles, projet collaboratif ?
</mode>

Publicité
Poster une réponse
Anonyme