


Les plats clés
- MongoDB est une base de données NoSQL orientée document qui améliore les performances et l'évolutivité, ce qui le rend idéal pour les applications de blog où les collections et les documents peuvent être facilement gérés.
- Le pilote PHP MongoDB est essentiel pour connecter les applications PHP à MongoDB, permettant des opérations CRUD directement à partir de scripts PHP.
- L'authentification simple de l'utilisateur peut être implémentée à l'aide de HTTP Auth pour les sections d'administration du blog, bien que pour des applications plus robustes, un cadre d'authentification complet soit recommandé.
- L'application de blog utilise des opérations de base de crud pour la gestion des articles de blog, avec des fonctionnalités supplémentaires pour les commentaires, tous stockés dans les collections MongoDB.
- La structure de l'application comprend des répertoires et des fichiers distincts pour les tâches et les vues administratives, promouvant une forme simpliste d'architecture MVC qui peut être développée davantage à l'aide de cadres à grande échelle.
Introduction
Si vous souhaitez créer un blog à l'aide de MongoDB et PHP, cet article vous apprendra à:
- Connectez-vous à une base de données MongoDB
- Enregistrer les documents dans une collection
- Documents de requête dans une collection
- Effectuer des requêtes de plage
- Trier les documents, mettre à jour un document, supprimer un ou plusieurs documents d'une collection
La raison pour laquelle j'ai choisi de créer une application de blog est parce qu'il s'agit d'une application CRUD de base et qu'elle convient très pour s'assurer dans le développement Web PHP et MongoDB. Nous créerons une interface utilisateur simple à l'aide de bootstrap avec des zones de texte et des boutons simples. Une base de données MongoDB stockera tout le contenu. Vous pouvez télécharger la source complète depuis GitHub, voir un frontage de démonstration ici et essayer le backend de l'application de démonstration avec le nom d'utilisateur et le mot de passe du du dutythien .
Qu'est-ce que mongodb
Selon le site officiel, MongoDB est une base de données de documents qui offre des performances élevées, une haute disponibilité et une évolutivité facile. MongoDB tombe dans le groupe de bases de données NOSQL orientées documents. Pour d'autres sous-types de bases de données NoSQL, voir ici.
MongoDB Concepts: bases de données, collections et documents
-
Base de données: MongoDB regroupe les données dans les bases de données de la même manière que la plupart des bases de données relationnelles. Si vous avez une expérience des bases de données relationnelles, vous devriez y penser de la même manière. Dans un SGBDR, une base de données est un ensemble de tables, de procédures stockées, de vues, etc. Dans MongoDB, une base de données est un ensemble de collections. Une base de données MongoDB contient une ou plusieurs collections. Par exemple, une base de données pour une application de blogs nommée Blog peut généralement avoir les articles de collections, les auteurs, les commentaires, les catégories, etc.
-
Collection: Une collection est l'équivalent d'une table RDBMS. Une collection existe dans une seule base de données. Les collections n'appliquent pas de schéma. Les documents dans une collection peuvent avoir différents champs. En règle générale, tous les documents d'une collection ont un objectif similaire ou connexe.
-
Documents: un enregistrement dans une collection MongoDB et l'unité de base des données dans MongoDB. Les documents sont analogues aux objets JSON mais existent dans la base de données dans un format plus riche en type appelé BSON. Un document contient un ensemble de champs ou de paires de valeurs clés. La meilleure façon de penser à un document est un tableau multidimensionnel. Dans un tableau, vous avez un ensemble de clés qui mappent les valeurs (document == array). Voir les documents.
Installation de mongodb
MongoDB fonctionne sur la plupart des plateformes et prend en charge les architectures 32 bits et 64 bits. MongoDB est disponible en binaire ou en tant que package. Dans les environnements de production, utilisez des binaires MongoDB 64 bits. Cette section couvrira l'installation sur Ubuntu Linux et Windows. Pour d'autres systèmes d'exploitation, veuillez consulter leur documentation.
C'est ainsi que Mongo est installé sur Ubuntu Linux. Ouvrez le terminal et exécutez ce qui suit:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
émettez maintenant la commande suivante pour mettre à jour votre référentiel et installer la dernière version stable de MongoDB:
sudo apt-get update sudo apt-get install mongodb-10gen
fait, vous avez installé avec succès MongoDB. Maintenant, démarrez et arrêtez le service MongoDB via la ligne de commande ci-dessous.
sudo service mongodb start sudo service mongodb stop
En cas d'erreur de démarrage pour essayer d'exécuter la commande suivante:
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log #or sudo mongod -f /etc/mongodb.conf
Ce qui suit décrit comment l'installer sur Windows:
Rendez-vous sur la page de téléchargements sur le site officiel de MongoDB. Cliquez sur le lien de téléchargement pour la dernière version stable sous Windows.
Une fois le téléchargement terminé, extraire et déplacer en C :. MongoDB nécessite un dossier de données dans lequel stocker ses fichiers. L'emplacement par défaut pour le répertoire de données MongoDB est C: DATADB. S'il n'existe pas, créez-le.
Pour démarrer mongodb, exécutez à partir de l'invite de commande
C:\> cd \mongodb\bin C:\mongodb\bin> mongod
fait, vous avez installé avec succès MongoDB. Maintenant, démarrez et arrêtez le service MongoDB via la ligne de commande ci-dessous.
net start MongoDB net stop MongoDB
Installation du pilote PHP pour MongoDB
Le serveur MongoDB est conçu pour déjà fonctionner avec votre serveur Web actuel, mais pas PHP. Pour faire parler PHP au serveur MongoDB, nous allons avoir besoin du pilote PHP-MongoDB. Il s'agit d'une bibliothèque d'extension PHP.
Si vous utilisez Linux, installez-le facilement via:
sudo pecl install mongo
Ajouter la ligne d'extension = mongo.so à votre configuration php.ini et vous êtes prêt à partir:
sudo -i echo 'extension=mongo.so' >> /etc/php5/apache2/php.ini
Redémarrez votre serveur Web et vérifiez via la ligne de commande:
php -i |grep "mongo" php --re mongo
Installation du pilote sur Windows
Essayons d'installer le pilote sur une machine Windows exécutant PHP 5.4 sur Apache (XAMPP):
- Téléchargez l'archive zip https://github.com/mongodb/mongo-php-driver/downloads sur votre machine et extraire.
- Copiez le fichier php_mongo.dll du dossier extrait vers le répertoire d'extension PHP (C: XAMPPPHPEXT).
- Ouvrez le fichier php.ini dans votre installation PHP et ajoutez la ligne suivante: Extension = php_mongo.dll
- Enregistrez le fichier et fermez-le. Redémarrer le xamp.
- Ouvrez votre éditeur de texte et ajoutez le code suivant à un nouveau fichier: Php phpinfo () ;?>, enregistrez le fichier en phpinfo.php dans le documentroot du serveur Web Apache (HTDOCS) et ouvrez le PHP script dans le navigateur. Si vous voyez Mongo dans les informations PHP, l'installation a réussi.
Développement Web de Mongo avec PHP
Connexion à un serveur de base de données MongoDB
La connexion à MongoDB de PHP est très similaire à la connexion à toute autre base de données. L'hôte par défaut est localhost, et le port par défaut est 27017.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
Connexion à un hôte distant avec un port personnalisé en option et un auth:
sudo apt-get update sudo apt-get install mongodb-10gen
Sélection d'une base de données
Une fois la connexion du serveur de base de données établie, nous l'utiliserons pour accéder à une base de données. La façon définie de le faire est:
sudo service mongodb start sudo service mongodb stop
Les bases (opérations CRUD)
MongoDB fournit une sémantique riche pour la lecture et la manipulation des données. Crud signifie Créer, lire, mettre à jour et supprimer. Ces termes sont le fondement de toutes les interactions avec la base de données.
Création / sélection d'une collection
La sélection et la création d'une collection sont très similaires à l'accès et à la création d'une base de données. Si une collection n'existe pas, elle est créée:
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log #or sudo mongod -f /etc/mongodb.conf
Par exemple, cela crée la collection «publications» dans mon blog:
C:\> cd \mongodb\bin C:\mongodb\bin> mongod
Création d'un document
La création d'un document dans MongoDB n'a pas pu être plus facile. Créez un tableau. Passez-le dans la méthode d'insertion sur l'objet de collecte
net start MongoDB net stop MongoDB
La méthode insert () stocke les données de la collecte. Le tableau de post $ reçoit automatiquement un champ nommé _id, qui est l'objet unique autoogène du document BSON inséré. Vous pouvez également utiliser la méthode Save (), qui upserts - met à jour un enregistrement existant, ou en crée un nouveau s'il n'existe pas.
lire un document
Pour obtenir des données d'une collection, j'utilise la méthode find (), qui obtient toutes les données d'une collection. FindOne () ne renvoie qu'un seul document qui satisfait les critères de requête spécifiés. Les exemples suivants vous montreront comment interroger un ou plusieurs enregistrements.
sudo pecl install mongo
Mise à jour d'un document
modifie un document ou des documents existants dans une collection. Par défaut, la méthode Update () met à jour un seul document. Si l'option Multi est définie sur true, la méthode met à jour tous les documents qui correspondent aux critères de requête.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
La méthode Update () prend deux paramètres. Le premier est les critères pour décrire les objets à mettre à jour et le second l'objet avec lequel mettre à jour les enregistrements correspondants. Il existe également un troisième paramètre facultatif par lequel vous pouvez passer dans un tableau d'options.
mini blog
La structure du projet que nous allons construire:
sudo apt-get update sudo apt-get install mongodb-10gen
Avant de commencer avec notre code PHP réel, nous devons créer nos fichiers et dossiers comme ci-dessus.
config.php
Il s'agit de votre fichier de configuration qui indique à notre application comment se connecter à la base de données. C'est là que vous avez défini le nom de la base de données, le nom d'utilisateur et le mot de passe de l'utilisateur pour accéder à cette base de données:
sudo service mongodb start sudo service mongodb stop
où nous définissons Paramaters Userauth et PasswordAuth pour protéger le dossier administrateur via l'authentification HTTP. Nous utilisons HTTP Auth pour une simplicité ici, étant donné que le thème central de l'article est de se connecter à MongoDB - vous utiliseriez généralement une sorte de cadre décent avec ACL pour construire dans le contrôle d'accès.
app.php:
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log #or sudo mongod -f /etc/mongodb.conf
admin
C'est le dossier qui contient le code crud.
C:\> cd \mongodb\bin C:\mongodb\bin> mongod
Pour le fichier complet index.php, voir ici. Ci-dessus, j'ai utilisé la fonction de vue dans la classe Layout.php qui chargera automatiquement Dashboard.View.php.
net start MongoDB net stop MongoDB
L'état du paramètre GET correspond à une action crud. Par exemple, lorsque le statut est «Créer»:
sudo pecl install mongo
La vue de la fonction («admin / create», $ data) montre un formulaire HTML où l'utilisateur peut écrire le titre / le contenu d'un nouveau blog, ou il enregistre les données soumises par l'utilisateur à MongoDB. Par défaut, le script affiche le formulaire HTML suivant:
sudo -i echo 'extension=mongo.so' >> /etc/php5/apache2/php.ini
Ensuite, regardons db.php, qui peut être trouvé en entier ici
php -i |grep "mongo" php --re mongo
Le curseur MongoDB facilite la pagination. Ces méthodes de curseur peuvent être enchaînées de l'objet de curseur qui trouvent les rendements et les uns les autres. La combinaison de limite avec Skip rend la pagination facile. Ceux-ci peuvent également être combinés avec l'ordre. Par exemple.
$connection = new Mongo();
index.php: les fichiers de modèle peuvent être trouvés dans le dossier de vue; comme index.view.php. Voici un exemple d'index.php:
$connecting_string = sprintf('mongodb://%s:%d/%s', $hosts, $port,$database), $connection= new Mongo($connecting_string,array('username'=>$username,'password'=>$password));
Ouvrez votre navigateur et accédez à http://duthien.dev/sitepoint/blog-mongodb. Il répertorie tous les articles actuels du blog:
single.php: Lorsque vous visualisez une seule page de publication (cliquez sur Lire la suite sur un post), vous regardez single.view.php dans le dossier des vues. Voici la logique de single.php:
$dbname = $connection->selectDB('dbname');
Ce fichier reçoit le _ID de l'article en tant que paramètre HTTP Get. Nous invoquons la méthode FindOne () sur la collection d'articles, en envoyant la valeur _ID en tant que paramètre à la méthode. La méthode findOne () est utilisée pour récupérer un seul document. Voir la fonction getbyid () dans le fichier db.php
Entrez un nom et un e-mail arbitraires dans les cases d'entrée dans la section des commentaires, mettez également du texte dans la TextArea. Cliquez ensuite sur le bouton Enregistrer et la page se rechargera avec le commentaire que vous venez de publier. Voici à quoi ressemble comment.php:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
Les commentaires pour un article sont stockés dans un champ de tableau des commentaires du nom du document. Chaque élément d'un commentaire est un document intégré qui contient plusieurs champs.
Conclusion
Dans cet article, nous avons couvert une introduction CRUD de base dans PHP avec MongoDB. Nous avons même créé une sorte de MVC très primitif dans le processus (voir l'application complète sur GitHub). C'est à vous d'utiliser un cadre approprié, d'implémenter l'authentification au-delà du simple authauteur HTTP utilisé ici et d'ajouter plus de fonctionnalités, mais les bases sont en place et vous pouvez pirater cette application de démonstration au contenu de votre cœur.
Pour plus d'informations sur MongoDB, consultez la documentation en ligne. Avez-vous apprécié cet article? Faites-nous savoir vos pensées!
Questions fréquemment posées (FAQ) sur la création d'une application de blog simple avec MongoDB et PHP
Qu'est-ce que MongoDB et pourquoi est-il utilisé dans la création d'une application de blog?
MongoDB est un programme de base de données orienté vers la plate-forme multiplateforme à source. Il est classé comme un programme de base de données NOSQL car il utilise des documents de type JSON avec des schémas facultatifs. MongoDB est utilisé dans la création d'une application de blog en raison de ses performances élevées, de sa haute disponibilité et de son évolutivité facile. Il fonctionne sur le concept de collections et de documents, ce qui facilite l'organisation et la gestion des données.
Comment PHP s'intègre-t-il à MongoDB dans la création d'une application de blog?
PHP est un usage général populaire Langue de script qui est particulièrement adaptée au développement Web. Il s'intègre à MongoDB via un pilote PHP, qui est une bibliothèque côté client qui fournit une abstraction API de haut niveau pour certaines des caractéristiques de MongoDB. Cela permet aux scripts PHP de communiquer avec les serveurs MongoDB et d'effectuer des opérations telles que l'interrogation et la mise à jour des données.
Quelles sont les conditions préalables à la création d'une application de blog avec MongoDB et PHP?
Pour créer une application de blog avec MongoDB et PHP, vous devez avoir une compréhension de base de PHP et MongoDB. Vous devez également installer PHP et MongoDB sur votre système. De plus, vous avez besoin d'un éditeur de texte pour rédiger votre code et un serveur Web pour héberger votre application.
Comment puis-je gérer l'authentification des utilisateurs dans mon application de blog?
L'authentification des utilisateurs dans une application de blog peut être manipulé à l'aide de sessions en PHP. Lorsqu'un utilisateur se connecte, une session est démarrée et les informations de l'utilisateur sont stockées dans les variables de session. Ces variables sont accessibles tout au long de la session de l'utilisateur, vous permettant de restreindre l'accès à certaines pages en fonction de l'état d'authentification de l'utilisateur.
Comment puis-je implémenter les opérations CRUD dans mon application de blog?
Les opérations CRUD (créer, lire, mettre à jour, supprimer) peuvent être implémentées dans une application de blog à l'aide de PHP et MongoDB. PHP fournit des fonctions pour interagir avec MongoDB, vous permettant de créer des documents (publications), de lire des documents, de mettre à jour des documents et de supprimer des documents. Le pilote MongoDB PHP fournit une API simple pour ces opérations.
Comment puis-je gérer les erreurs dans mon application de blog?
La gestion des erreurs dans une application de blog peut être effectuée en utilisant la gestion des erreurs intégrée de PHP fonctions. Ces fonctions vous permettent de définir des règles de gestion des erreurs personnalisées, de créer des gestionnaires d'erreurs personnalisés et de signaler les erreurs. Vous pouvez également enregistrer les erreurs à des fins de débogage.
Comment puis-je améliorer les performances de mon application de blog?
Les performances d'une application de blog peuvent être améliorées en optimisant vos requêtes MongoDB, en utilisant des index, et les données de mise en cache. Vous pouvez également améliorer les performances en optimisant votre code PHP, par exemple en utilisant des boucles et des fonctions efficaces, et en minimisant l'utilisation de variables globales.
Comment puis-je sécuriser mon application de blog?
Sécurité Dans une application de blog, peut être réalisée en implémentant l'authentification des utilisateurs, en désinfectant les entrées des utilisateurs pour empêcher les attaques d'injection SQL et en utilisant des connexions sécurisées (HTTPS). Vous devriez également garder vos installations PHP et MongoDB à jour pour bénéficier des derniers correctifs de sécurité.
Comment puis-je déployer mon application de blog?
Une application de blog peut être déployée en téléchargeant le PHP Fichiers et base de données MongoDB sur un serveur Web. Vous pouvez utiliser FTP ou un système de contrôle de version comme Git pour télécharger des fichiers. Vous devez également configurer votre serveur Web pour gérer les scripts PHP et vous connecter à votre base de données MongoDB.
Comment puis-je ajouter des fonctionnalités comme des commentaires et des likes à mon application de blog?
Fonctions telles que des commentaires et des likes Peut être ajouté à une application de blog en créant des collections supplémentaires dans votre base de données MongoDB pour stocker des commentaires et des likes. Vous pouvez ensuite utiliser PHP pour créer, lire, mettre à jour et supprimer des commentaires et des likes, et pour les associer à des messages spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Phpidentifiesauser'sessionusingssse cookiesand sessionids.1) whenSession_start () est calculé, phpgeneratesauquesseSessionIdStoredInacookIenameDPhpSesssIdonUser'sbrowser.2) thisIdallowsphptoreTrrieSeSessionDatafromTeserver.

La sécurité des sessions PHP peut être obtenue grâce aux mesures suivantes: 1. Utilisez Session_RegeReate_ID () pour régénérer l'ID de session lorsque l'utilisateur se connecte ou est une opération importante. 2. Cryptez l'ID de session de transmission via le protocole HTTPS. 3. Utilisez session_save_path () pour spécifier le répertoire sécurisé pour stocker les données de session et définir correctement les autorisations.

PhpSessionFilesArestorentheDirectorySpecifiedSession.save_path, généralement / tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomzethis: 1) usession_save_path () tosetacustomDirectory, astumeit'swrit

ToretrrievedatafromaphpSession, startTheSessionwithSession_start () et accessvariablesInthe $ _sessionArray.forexample: 1) startTheSession: session_start (). 2) récupéré: $ username = $ _ session ['userSeger']; echo "bienvenue,". $ Username;..

Les étapes pour construire un système de panier d'achat efficace à l'aide de sessions comprennent: 1) Comprendre la définition et la fonction de la session. La session est un mécanisme de stockage côté serveur utilisé pour maintenir l'état de l'utilisateur entre les demandes; 2) Implémenter la gestion de session de base, comme l'ajout de produits au panier; 3) développer une utilisation avancée, soutenant la gestion de la quantité de produits et la suppression; 4) Optimiser les performances et la sécurité, en persistant les données de session et en utilisant des identifiants de session sécurisés.

L'article explique comment créer, mettre en œuvre et utiliser des interfaces dans PHP, en se concentrant sur leurs avantages pour l'organisation du code et la maintenabilité.

L'article traite des différences entre crypt () et mot de passe_hash () dans PHP pour le hachage de mot de passe, en se concentrant sur leur implémentation, leur sécurité et leur aptitude aux applications Web modernes.

L'article discute de la prévention des scripts inter-sites (XSS) dans PHP par validation d'entrée, en codage de sortie et en utilisant des outils comme OWASP ESAPI et Purificateur HTML.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
