Dans le développement web, la séparation du front-end et du back-end est devenue une tendance. Le front-end est principalement responsable de l'affichage des données et de l'interaction de l'utilisateur, tandis que le back-end est responsable du traitement des données et de la mise en œuvre de la logique métier. Par conséquent, le backend implémente l'interface API et le frontend obtient les données en appelant l'interface. Il est devenu inévitable de séparer complètement le frontend et le backend. Cet article explique comment réaliser la séparation PHP front-end et back-end.
En tant que langage de script côté serveur, PHP a de meilleures performances et une meilleure sécurité des données que JavaScript, donc dans la construction de l'interface API backend, nous pouvons utiliser PHP pour l'implémenter. Par exemple, nous pouvons utiliser des frameworks PHP tels que Laravel, Yii, CodeIgniter, etc. pour créer rapidement des interfaces API backend. Ces frameworks peuvent facilement réaliser le routage, les modèles, les contrôleurs, les opérations de base de données, etc.
Après avoir construit l'interface API, nous devons écrire le contrôleur correspondant pour gérer les requêtes frontales. Par exemple, nous pouvons implémenter un UserController pour gérer l’enregistrement des utilisateurs, la connexion et d’autres demandes. L'exemple de code est le suivant :
class UserController extends BaseController { // 注册 public function register() { // 获取前端传递的参数 $username = Input::get('username'); $password = Input::get('password'); // 插入数据库逻辑 User::create(['username' => $username, 'password' => $password]); // 返回注册成功响应 return Response::json(['result' => 'success']); } // 登录 public function login() { // 获取前端传递的参数 $username = Input::get('username'); $password = Input::get('password'); // 数据库验证逻辑 $user = User::where('username', $username)->where('password', $password)->first(); if ($user) { // 登录成功 return Response::json(['result' => 'success']); } else { // 登录失败 return Response::json(['result' => 'error']); } } }
En raison de la mise en œuvre de la séparation front-end et back-end, le front-end et le back-end ne sont pas sous le même nom de domaine, donc il y a un problème inter-domaines. Nous pouvons utiliser CORS (Cross Origin Resource Sharing, partage de ressources inter-domaines) pour résoudre des problèmes inter-domaines. Dans le framework Laravel, nous pouvons implémenter les paramètres CORS via Middleware et spécifier les noms de domaine qui autorisent les requêtes inter-domaines en définissant Access-Control-Allow-Origin. L'exemple de code est le suivant :
class CorsMiddleware { public function handle($request, Closure $next) { header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: Content-Type, Authorization"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); return $next($request); } }
Vous devez enregistrer le middleware dans le noyau :
protected $middleware = [ \App\Http\Middleware\CorsMiddleware::class, ];
Lorsque le front-end appelle l'interface API, il doit envoyer une requête HTTP. Les méthodes de requête incluent GET, POST, PUT, DELETE, etc. Parmi elles, la méthode GET est utilisée pour obtenir des données, la méthode POST est utilisée pour soumettre des données, la méthode PUT est utilisée pour mettre à jour les données et la méthode DELETE est utilisée pour supprimer des données. Dans les frameworks front-end tels que jQuery ou Angular, les requêtes HTTP peuvent être envoyées via la méthode $.ajax ou $http. L'exemple de code est le suivant :
$.ajax({ url: 'http://api.example.com/register', type: 'POST', data: {username: 'test', password: '123456'}, dataType: 'json', beforeSend: function() { // 请求前处理逻辑 }, success: function(data) { // 响应成功处理逻辑 }, error: function() { // 响应错误处理逻辑 } });
Dans le processus de réalisation de la séparation du front-end et du back-end PHP, vous devez également faire attention à certains problèmes de sécurité, tels que : l'interface anti- brossage, vérification de sécurité des paramètres, etc., et vous devez ajouter le traitement correspondant à la logique du code. Par ailleurs, la rédaction et la maintenance des documents d’interface sont également à considérer pour faciliter l’utilisation des développeurs front-end.
En bref, la séparation PHP front-end et back-end n'est pas difficile à réaliser, mais nous devons constamment résumer l'expérience pratique et améliorer la qualité et la sécurité du code pour obtenir de bons résultats.
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!