Maison >développement back-end >tutoriel php >Comment utiliser PHP comme backend en utilisant React For Frontend
Développer des applications Web dynamiques et interactives est crucial dans le monde dynamique et en constante évolution du développement Web. La rapidité et la polyvalence de React, une boîte à outils JavaScript permettant de créer des interfaces utilisateur, ont conduit à sa grande popularité. Cependant, PHP reste une option intéressante pour la programmation côté serveur. Ce tutoriel vous montrera comment combiner facilement les fonctionnalités d'un backend PHP et d'un front-end React pour utiliser pleinement leurs atouts respectifs.
Le terme PHP est un acronyme pour Hypertext Preprocessor. Il s'agit d'un langage de script côté serveur utilisé pour le développement Web. Il peut être facilement intégré à des fichiers HTML. Les codes HTML peuvent également être écrits dans un fichier PHP.
Voici quelques mérites de PHP
Facilité d'apprentissage et d'utilisation :
Large adoption et soutien communautaire :
Capacités d'intégration :
Open Source :
Compatibilité multiplateforme :
Vous trouverez ci-dessous quelques inconvénients de PHP.
Nom des fonctions et ordre des paramètres incohérents :
Problèmes de sécurité historiques :
Performances par rapport à d'autres langues :
Dactylographie faible :
Dépendance excessive à l'égard d'un code de procédure plus ancien :
React JS est une bibliothèque JavaScript déclarative, efficace et flexible pour créer des interfaces utilisateur. C'est « V » dans MVC. ReactJS est une bibliothèque frontale open source basée sur des composants, responsable uniquement de la couche d'affichage de l'application. Il est maintenu par Facebook.
Vous trouverez ci-dessous quelques mérites de React Js.
Architecture basée sur les composants :
DOM virtuel pour des performances améliorées :
UI déclarative :
Riche écosystème et soutien communautaire :
Support fort pour JSX :
Vous trouverez ci-dessous quelques inconvénients de React Js.
Courbe d'apprentissage abrupte :
Patron et complexité :
Environnement en évolution rapide :
Mauvais référencement :
Complexité de la gestion de l'État :
La synergie entre PHP et React dans les applications Web modernes exploite les atouts des deux technologies pour créer des applications robustes, dynamiques et évolutives. Voici un aperçu approfondi de la manière dont ces technologies se complètent et des avantages de leur combinaison :
Remarque : les avantages sont supérieurs à cinq, mais en voici quelques-uns !
Intégration frontend et backend :
Gestion transparente des données : React gère efficacement le front-end, tandis que PHP peut gérer la logique côté serveur et les échanges de données, ce qui crée un environnement de développement cohérent.
Développement piloté par API : En fournissant des données à l'interface React via des points de terminaison GraphQL ou RESTful, PHP peut fonctionner comme une puissante API backend, permettant une répartition claire des responsabilités.
Efficacité du développement :
Développement parallèle : Les équipes travaillant simultanément sur des projets front-end et back-end peuvent accélérer le développement et éliminer les goulots d'étranglement.
Composants réutilisés : Le développement frontend est plus modulaire et plus gérable grâce à la conception basée sur les composants de React, qui garantit que les éléments de l'interface utilisateur sont réutilisés.
Gérer une charge plus élevée :
Backend efficace : les frameworks PHP comme Laravel sont conçus pour gérer efficacement des quantités massives de données et des demandes des utilisateurs, en gérant des processus backend complexes et évolutifs.
Optimisation du front-end : même avec des applications complexes et gourmandes en données, le DOM virtuel de React et la technique de comparaison efficace garantissent des modifications rapides et réactives de l'interface utilisateur.
Architecture des microservices :
Approche modulaire : Différents services peuvent évoluer indépendamment lorsque PHP est inclus dans une architecture de microservices. React facilite l'évolutivité en lui permettant d'utiliser ces services selon les besoins.
Répartition de la charge : Le programme dans son ensemble peut gérer plus de trafic de manière compétente en divisant la charge entre PHP, qui gère les opérations côté serveur, et React, qui gère les interactions côté client.
Temps de chargement rapides :
Rendu côté serveur (SSR) : Le HTML initial peut être pré-rendu par PHP et envoyé au client, par la suite React peut l'hydrater. Cette méthode améliore l'expérience utilisateur et accélère le temps de chargement initial.
Récupération de données asynchrones : En utilisant React, les données peuvent être récupérées du backend PHP de manière asynchrone, en conservant une interface utilisateur réactive et une gestion efficace des modifications de données.
Communication améliorée :
Gestion efficace de l'état : Les fonctionnalités de gestion de l'état de React, telles que le contexte et les hooks, permettent une meilleure gestion des changements d'état de l'interface utilisateur, ce qui minimise le besoin de nouveaux rendus inutiles.
Mise en cache et optimisation : PHP peut utiliser des techniques de mise en cache côté serveur pour accélérer la diffusion de matériel statique et réduire la demande de base de données, améliorant ainsi les performances.
UI interactives et dynamiques :
Conception basée sur les composants : La conception basée sur les composants de React permet aux programmeurs de créer des interfaces utilisateur complexes et interactives, simples à mettre à jour et à développer.
Mises à jour en temps réel : React est capable de gérer efficacement les modifications de contenu dynamiques et les mises à jour en temps réel, ce qui offre une expérience utilisateur fluide et intéressante.
Expérience utilisateur améliorée :
Bibliothèques d'interface utilisateur contemporaines : React fonctionne parfaitement avec les bibliothèques et les frameworks d'interface utilisateur contemporains (tels que Material-UI et Ant Design), permettant aux programmeurs de concevoir des interfaces utilisateur esthétiques et intuitives.
Créer des interfaces utilisateur (UI) réactives et adaptables qui fonctionnent efficacement sur une variété d'appareils et de tailles d'écran est simplifié grâce à React.
Meilleure optimisation pour les moteurs de recherche :
Rendu côté serveur (SSR) : Le pré-rendu du contenu HTML à l'aide de PHP avant de le fournir au client garantit une meilleure indexation et un meilleur référencement dans les moteurs de recherche.
Balises méta et matériel dynamique : À l'aide des informations du backend PHP, React peut gérer et mettre à jour de manière dynamique les balises méta, les titres et autres éléments pertinents pour le référencement.
Meilleure exploration :
Génération de sites statiques (SSG) : React peut produire des pages statiques au moment de la construction, améliorant ainsi le référencement de l'application tout en conservant PHP pour le contenu dynamique, en utilisant des solutions comme Next.js, qui prend en charge à la fois RSS et SSG.
Structure d'URL : React peut gérer le routage et la navigation, garantissant que les visiteurs et les moteurs de recherche peuvent explorer le site facilement, tandis que PHP peut gérer des structures d'URL claires et conviviales pour le référencement.
Les développeurs peuvent créer des applications en ligne robustes, évolutives et optimisées en termes de performances, avec des expériences utilisateur riches et une optimisation des moteurs de recherche en intégrant PHP à React. En raison de leur synergie, les technologies frontend et backend peuvent être combinées pour créer un processus de développement solide et adaptable.
À ce stade, nous sommes sur le point de démarrer un véritable projet utilisant React.js et PHP comme front-end.
Il y a des choses que vous devez savoir en tant que développeur ou des choses que vous devez savoir pour pouvoir faire fonctionner PHP comme backend avec React. Voici la liste des incontournables !
L'étape pour utiliser PHP comme backend aux côtés de React est assez simple et elle est la suivante.
Construire le frontend
Étape 1 : Ouvrez votre terminal et exécutez la commande suivante ci-dessous :
npx create-react-app my-react-app
Remarque : avant d'exécuter cette commande, vous devez vous rendre dans le répertoire où vous souhaitez que votre dossier React se trouve ! la façon d'accéder au répertoire souhaité est d'ajouter cette commande à votre terminal
cd Documents
Après cela, vous attendrez que votre application React soit créée.
Étape 2 : Accédez au dossier de votre projet :
Le projet que vous venez de créer doit être visité dans le terminal
cd my-react-app
Étape 3 : Démarrez le serveur de développement :
npm start
Construire le backend PHP
Il est temps de construire le backend PHP maintenant que votre application React est opérationnelle :
Étape 1 : Créez un nouveau dossier pour vos fichiers PHP dans le répertoire de votre application React.
pour y parvenir, exécutez la commande suivante sur votre terminal
mkdir php_backend
En exécutant cette commande, vous verrez un dossier nommé php_backend
Étape 2 : Dans le dossier php-backend, créez un fichier nommé index.php.
Remarque : vous êtes libre de l'appeler n'importe quel nom, dans mon cas j'ai décidé d'utiliser le index.php.
Étape 3 : Dans le fichier index.php, vous pouvez commencer à définir vos points de terminaison et votre logique PHP.
Vous trouverez ci-dessous ce qui est écrit dans mon php-backend/index.php si vous êtes un développeur PHP, vous connaîtrez cette syntaxe.
<?PHP $serverName="localhost"; $userName="root"; $password=""; $databaseName="react_php"; $conn = mysqli_connect($serverName, $userName, $password, $databaseName); $recText = $_POST['text']; $query = ("INSERT INTO react_php (texts) VALUES('$recText')"); if (mysqli_query($conn, $query)) { echo "Data has been inserted successfully"; }else { echo "Error"; } ?>
Maintenant, la prochaine chose à faire est d'accéder au code React que vous avez créé précédemment et d'ouvrir le dossier dans votre éditeur de code, vous verrez un dossier comme src/App.js et d'ajouter cette syntaxe ci-dessous.
import React, { Component } from 'react'; // import logo from './logo.svg'; import axios from 'axios'; //Import Axios import './App.css'; class App extends Component{ state = { text : "" } handleAdd = async e =>{ await this.setState({ text : e.target.value }) } handleSubmit = e =>{ e.preventDefault(); console.log(this.state.text); let formData = new FormData(); formData.append("text", this.state.text); const url = "http://localhost:80/react-backend/" axios.post(url,formData) .then(res=> console.log(res.data)) .catch(err=> console.log(err)) } render(){ return( <div className="App-header"> <input onChange={this.handleAdd} className="form-control" // value={this.state.text} type="text" id='text' placeholder='Enter Some Text!'/> <br/> <button onClick={this.handleSubmit} className="btn btn-success" id='submit'> Save</button> </div> ); }
}
exporter l'application par défaut ;
Remarque : ce qui permet au PHP de fonctionner, c'est le **Axios**. Regardez l'extrait de code ci-dessous, vous verrez comment nous l'avons utilisé !
Dans le dossier public de votre projet, vous verrez un fichier index.html dans ce fichier. J'ai ajouté un cdn bootstrap comme framework que j'utilise,
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
Voici donc un petit style.
.App { text-align: center; } .App-logo { height: 40vmin; pointer-events: none; } @media (prefers-reduced-motion: no-preference) { .App-logo { animation: App-logo-spin infinite 20s linear; } } .App-header { background-color: #282c34; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: calc(10px + 2vmin); color: white; } .App-link { color: #61dafb; } @keyframes App-logo-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
Après avoir essayé tout cela, voici la vue que cela vous donnera.
Voici la base de données contrôlant le backend. une fois que vous avez rempli le texte et cliqué sur Enregistrer, le texte s'affichera automatiquement dans la base de données.
ci-après j'ai écrit **Freddie** et j'ai cliqué sur Parcourir, dans le coin supérieur droit de l'image affichée ci-dessous. Une fois que vous voyez cela, sachez que vous avez fait la bonne chose.
C'est l'étape que j'ai utilisée dans React et PHP dans une seule application.
En conclusion, l'intégration de PHP en tant que backend avec React en tant que frontend offre une solution robuste et polyvalente pour le développement d'applications Web modernes. Comme indiqué, cette combinaison exploite les atouts des capacités côté serveur de PHP et de l'architecture dynamique basée sur les composants de React pour créer des applications évolutives et hautes performances. PHP gère efficacement la logique côté serveur, les interactions avec les bases de données et la création d'API, tandis que React garantit une interface utilisateur riche et réactive et une gestion transparente des données.
Cette synergie entre PHP et React améliore non seulement le processus de développement, mais donne également naissance à des applications Web interactives, attrayantes et conviviales pour le référencement. L'adoption de cette puissante intégration permet aux développeurs de créer des applications Web complètes et centrées sur l'utilisateur avec facilité et efficacité.
J'espère que vous avez trouvé ce tutoriel incroyablement précieux ! Jusqu'à la prochaine fois, au revoir.
Développeur Full-stack Laravel Emmanuel Okolie a plus de 4 ans d'expérience dans le développement de logiciels. Il a développé des compétences à part entière en combinant le développement de logiciels, l'écriture et l'enseignement aux autres dans ce qu'il fait.
Ses piles incluent ReactJ, Laravel, PHP, JavaScript et d'autres langages et frameworks.
En tant qu'indépendant, il crée des sites Web pour les clients et rédige des guides techniques pour montrer aux gens comment faire ce qu'il fait.
Si on lui en donnait l'occasion, Emmanuel Okolie serait ravi de parler avec vous. Veuillez vous rendre sur son site Web, Facebook, Github, LinkedIn et Twitter.
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!