2009-12-09 4 views
0

J'ai écrit le site Web en PHP (Kohana) et MySQL. Je veux créer l'installateur qui exécutera tous les tests d'environnement et, ce qui est le plus important (et le plus mystérieux) pour moi, déploiera la base de données. De plus, je voudrais choisir le préfixe des tables dans la base de données et spécifier le nom d'utilisateur et le mot de passe pour l'admin. Voulez-vous s'il vous plaît donner quelques conseils sur la façon de le faire? Ou un lien vers un tutoriel? J'essayais de google cela, mais quand j'ai cherché des termes comme "PHP site installateur", j'ai trouvé seulement comment installer PHP.Installation de la page Web - déploiement de la base de données

Le plus important pour moi est le processus de déploiement de la base de données avec le préfixe des tables défini par l'utilisateur. Comment dois-je stocker la structure de la base de données dans le fichier. Dois-je nommer les tables en utilisant un certain mot-clé pour le préfixe, par exemple:

%%prefix%%_tableName 

ou

__prefix__tableName 

Et alors? Changer tous les mots-clés en utilisant des expressions régulières? Est-ce correct ou est-ce mieux?

+0

Voir http: // stackoverflow .com/questions/4388513/comment-je-peux-créer-installer-pour-site-php-mysql pour une liste d'installateurs génériques d'application de php. – cweiske

Répondre

3

Un moyen simple serait de stocker les requêtes SQL dans les fichiers PHP et PHP injecter le préfixe dans le SQL et retourner la chaîne.

Comme, si vous aviez un fichier PHP comme celui-ci pour chacun de vos CREER requêtes TABLE:

<?php 
/** get_myTable.php **/ 
return <<<SQL 
CREATE TABLE `{$prefix}myTable` (...) 
SQL; 
?> 

Vous pouvez le faire dans votre code principal:

<?php 
$prefix = 'dbprefix_'; 

$create_queries = array(); 
$create_queries[] = include('get_myTable.php'); 
$create_queries[] = include('get_otherTable.php'); 

foreach($create_queries as $_query) { 
    mysql_query($_query) or trigger_error(mysql_error(), E_USER_WARNING); 
} 
?> 
2

Wordpress a son célèbre '5-minute install'. C'est un bon point de référence en matière de simplicité, de convivialité et de puissance, et il fait la plupart, sinon la totalité, des choses que vous avez décrites dans votre question.

Questions connexes