Accueil > Forum > > > > Besion d'aide pour créer un CMS
Besion d'aide pour créer un CMS
jeudi 1 mai 2008 à 14:48:59 |
Besion d'aide pour créer un CMS

Infernus32
|
Bonjour, Je suis en train de développer un CMS (Content Manager System) en PHP5, le tout est évidement orienté objet. Mais n'étant qu'à mes débuts en POO, j'ai quelques problèmes que je n'arrive pas à résoudre. Alors voilà, j'ai une classe que j'ai nommée DbConnector qui permet de se connecter au serveur MySQL et d'envoyer des requêtes dont voici la partie interressente : public function __construct() { $this->link = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, FALSE) or die('<b>Connexion au serveur MySQL impossible !</b><br /><br />Une erreur est survenue lors de la connexion à la base de données, veuillez rafraîchir la page afin de réessayer.<br />'); mysql_select_db(DB_NAME) or die('Base de données introuvable !'); register_shutdown_function(array(&$this, 'close')); }
public function query($query) { $this->globalQueriesCounter++; $deb = microtime(true); $result = mysql_query($query, $this->link); $fin = microtime(true);
$this->globalQueriesTimer += ($fin - $deb) * 1E3; if($errno = mysql_errno($this->link) === 0) { return $result; } else { die('<b>Erreur SQL '.(LOCAL ? $errno.' :<br />'.$query.'<br />'.mysql_error() : '!').'</b>'); } }J'ai aussi une autre classe Article qui permet de gérer des articles. Donc pour récupérer un article contenu dans ma base de données, j'ai une fonction du genre : public function getArticle() { $db = new DbConnector(); $result = $db->query( 'SELECT * FROM articles '. 'WHERE category=\''.$this->category.'\' AND sub_category=\''.$this->subCategory.'\'' ); if($db->numRows($result) === 0) { return 'Article introuvable !<br />'; } else { $article = $db->fetchObject($result); return(array( 'category' => $article->category, 'subCategory' => $article->sub_category, 'creationDate' => date('j/m/Y', $article->creation_date), 'editionDate' => date('j/m/Y', $article->edition_date), 'revisionNo' => $article->revision_no, 'title' => $article->title, 'contents' => self::formatContents($article->contents), 'text' => stripslashes($article->text) )); } }Le problème se situe dans ma classe DbConnector lorqu'il faut compter le nombre de requêtes et le temps qu'elles ont mis à s'éxécuter, en effet, lorsque je fais $this->globalQueriesCounter++; j'incrémente bien mon compteur mais seulement pour mon instance créée avec $db = new DbConnector(); donc lorsque j'affiche mon compteur à la fin du script je n'ai pas le nombre total de requêtes mais seuelement celui de mon instance. Donc je voudrais savoir comment faire mon remédier à ce problème. Je suis ouvert à toute proposition même s'il s'il faut recommencer mon CMS à zéro car il n'est pour l'instant pas encore très important. De plus, si vous connaissez un CMS bien codé en PHP5 et assez petit pour que je puisse le comprendre facilement, n'hésister à m'en faire part. Merci beaucoup 
|
|
jeudi 1 mai 2008 à 17:12:09 |
Re : Besion d'aide pour créer un CMS

Teclis01
|
Réponse acceptée !
il faut utiliser une variable static... petite remarque ... mysql pour seul DB d'un CMS... pas top (joomla, e107, plume,...) Il vaut mieux poser une question et passer pour bête que le rester toute sa vie Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
|
|
jeudi 1 mai 2008 à 17:55:24 |
Re : Besion d'aide pour créer un CMS

Infernus32
|
Merci beaucoup, ça marche nickel.  Je pensais que tout ce qui était "static" générait une erreur de niveau E_STRICT mais apparemment cela ne concerne que les méthodes statiques et pas les propriétés. Sinon, pourquoi dis tu que MySQL n'est pas top pour un CMS, j'ai déjà testé Joomla, Drupal, Haricow... ils utilisent tous MySQL. Quel SGBD me conseille tu d'autre ?
|
|
jeudi 1 mai 2008 à 18:20:44 |
Re : Besion d'aide pour créer un CMS

Teclis01
|
Réponse acceptée !
Je ne t'en conseille aucun, je te conseille une abstraction de de DB. qu'on n'ai pas a changer bcp de choses pour que ça marche avec mssql, postgresql, ... Il vaut mieux poser une question et passer pour bête que le rester toute sa vie Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
|
|
jeudi 1 mai 2008 à 19:09:30 |
Re : Besion d'aide pour créer un CMS

Infernus32
|
En effet, c'est une bonne idée. Je n'avais pas compris ce que tu voulais dire au début. Je vais suivre ton conseil. Encore merci.
|
|
Cette discussion est classée dans : mysql, db, query, article, category
Répondre à ce message
Sujets en rapport avec ce message
Affichage table [ par nagattaque ]
Bonjour a tous.... Je vous explique mon problème : J'ai une table qui contient des plats. Il y a 3 types de plats : entrée, plat, dessert. Je voudrai
Optimisation de connection a une base de donn?|e SQL [ par Teclis01 ]
Voil¨¤ en fait j aimerais savoir comment optimiser les connection a une bas de donn¨¦es SQL. J aimerais savoir ds quel cas on doit se reconnecter a un
Requete SQL incorrecte ?!? [ par Teclis01 ]
Voil¨¤ le code fait ce qui lui ait demand¨¦ pourtant il m affiche un warning ... on m a dit que cela venait de ma requete mais je reste sceptique ...j
quand faire un mysql_close() [ par davwart ]
Bonjour à tous. J'ai retrouvé une classe MySqlDb (classe pour gérer une db mysql donc..) ce matin. En regardant le code, je me suis rendu compte qu'à
Correction de code simple pour debutant [ par michmichman ]
Bonjour j'ai fais un petit code pour verifier si un utilisateur est enregistré dans ma db mais bien sur il marche pasje vous le montre je suis sur que
pb de passage de paramètres [ par sandro38000 ]
Bonjour à tous et a toutes,je débute à programmer en php et j'ai rencontrer un problème lors du passage de paramètre d'une page à une autre.Je m'expli
Comparaison de chaines contenant des apostrophes [ par jmp_416 ]
Lorsque je compare deux chaines avec une requête basique du genre $query = "SELECT * from $ep_category_tablename where category_catego
mysql_query [ par asdeejay ]
Salut toule monde Je veut stocker le resultat d'une requete dans une variable et voici le code $res=mysql_query("select remboursement from epargne whe
l'accés concurentiel [ par machmacha ]
Bonjour,j'ai pensé a faire un traitement sur l'accées a ma base de données, càd lorsque quelqu'un veux s'inscrir sur mon site web et en meme moment un
requete et insert into [ par pat65300 ]
Bonsoir ,voici le code quand j l' exécute il n insere rien dans ma table installer pourtant les requetes fonctionneent bien pouvez vous m' aider. merc
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SONDAGE..RE : SONDAGE.. par phpAnonyme
Cliquez pour lire la suite par phpAnonyme RE : SONDAGE..RE : SONDAGE.. par TychoBrahe
Cliquez pour lire la suite par TychoBrahe
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|