Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Generation squelette appli php auto

2 réponses
Avatar
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"

2 réponses

Avatar
ftc
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.

Avatar
jeancharles gibier

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>