In der Webentwicklung ist die Trennung von Front-End und Backend zu einem Trend geworden. Das Front-End ist hauptsächlich für die Anzeige von Daten und die Benutzerinteraktion verantwortlich, während das Back-End für die Datenverarbeitung und die Implementierung der Geschäftslogik verantwortlich ist. Daher implementiert das Backend die API-Schnittstelle und das Front-End erhält Daten durch Aufrufen der Schnittstelle. Es ist unumgänglich geworden, das Front-End und das Back-End vollständig zu trennen. In diesem Artikel wird erläutert, wie Sie die Front-End- und Back-End-Trennung von PHP erreichen.
Als serverseitige Skriptsprache bietet PHP eine bessere Leistung und Datensicherheit als JavaScript, sodass wir beim Aufbau der Backend-API-Schnittstelle PHP zur Implementierung verwenden können. Beispielsweise können wir PHP-Frameworks wie Laravel, Yii, CodeIgniter usw. verwenden, um schnell Backend-API-Schnittstellen zu erstellen. Diese Frameworks können problemlos Routing, Modelle, Controller, Datenbankoperationen usw. durchführen.
Nachdem wir die API-Schnittstelle erstellt haben, müssen wir den entsprechenden Controller schreiben, um Front-End-Anfragen zu verarbeiten. Beispielsweise können wir einen UserController implementieren, um Benutzerregistrierung, Anmeldung und andere Anfragen zu verarbeiten. Das Codebeispiel lautet wie folgt:
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']); } } }
Aufgrund der Implementierung der Front-End- und Back-End-Trennung befinden sich Front-End und Back-End nicht unter demselben Domänennamen Es liegt ein domänenübergreifendes Problem vor. Wir können CORS (Cross Origin Resource Sharing, domänenübergreifende Ressourcenfreigabe) verwenden, um domänenübergreifende Probleme zu lösen. Im Laravel-Framework können wir CORS-Einstellungen über Middleware implementieren und die Domänennamen angeben, die domänenübergreifende Anforderungen zulassen, indem wir Access-Control-Allow-Origin festlegen. Der Beispielcode lautet wie folgt:
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); } }
Sie müssen die Middleware im Kernel registrieren:
protected $middleware = [ \App\Http\Middleware\CorsMiddleware::class, ];
Wenn das Front-End die API-Schnittstelle aufruft, muss es eine HTTP-Anfrage senden. Zu den Anforderungsmethoden gehören GET, POST, PUT, DELETE usw. Unter diesen wird die GET-Methode zum Abrufen von Daten, die POST-Methode zum Übermitteln von Daten, die PUT-Methode zum Aktualisieren von Daten und die DELETE-Methode zum Löschen von Daten verwendet. In Front-End-Frameworks wie jQuery oder Angular können HTTP-Anfragen über die Methode $.ajax oder $http gesendet werden. Der Beispielcode lautet wie folgt:
$.ajax({ url: 'http://api.example.com/register', type: 'POST', data: {username: 'test', password: '123456'}, dataType: 'json', beforeSend: function() { // 请求前处理逻辑 }, success: function(data) { // 响应成功处理逻辑 }, error: function() { // 响应错误处理逻辑 } });
Bei der Realisierung der Trennung von PHP-Front-End und -Back-End müssen Sie auch auf einige Sicherheitsprobleme achten, wie zum Beispiel: Schnittstellen-Anti- Bürsten, Überprüfung der Parametersicherheit usw., und Sie müssen der Codelogik eine entsprechende Verarbeitung hinzufügen. Darüber hinaus muss auch das Schreiben und Pflegen von Schnittstellendokumenten berücksichtigt werden, um den Einsatz von Front-End-Entwicklern zu erleichtern.
Kurz gesagt, die Trennung von PHP-Front-End und Backend ist nicht schwer zu erreichen, aber wir müssen die Erfahrungen in der Praxis ständig zusammenfassen und die Codequalität und -sicherheit verbessern, um gute Ergebnisse zu erzielen.
Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen Schritt für Schritt bei, wie Sie mit PHP Front-End und Back-End trennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!