Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ajar anda langkah demi langkah cara menggunakan PHP untuk memisahkan bahagian hadapan dan belakang

Ajar anda langkah demi langkah cara menggunakan PHP untuk memisahkan bahagian hadapan dan belakang

PHPz
PHPzasal
2023-04-03 15:14:553119semak imbas

Dalam pembangunan web, pemisahan bahagian hadapan dan belakang telah menjadi satu trend. Bahagian hadapan bertanggungjawab terutamanya untuk memaparkan data dan interaksi pengguna, manakala bahagian belakang bertanggungjawab untuk pemprosesan data dan pelaksanaan logik perniagaan. Oleh itu, bahagian belakang melaksanakan antara muka API, dan bahagian hadapan memperoleh data dengan memanggil antara muka Ia telah menjadi tidak dapat dielakkan untuk memisahkan sepenuhnya bahagian hadapan dan bahagian belakang. Artikel ini akan memperkenalkan cara untuk mencapai pemisahan bahagian hadapan dan bahagian belakang PHP.

  1. Bina antara muka API bahagian belakang

PHP, sebagai bahasa skrip bahagian pelayan, mempunyai prestasi dan keselamatan data yang lebih baik daripada JavaScript, jadi dalam bahagian belakang Dalam membina API antara muka, kita boleh menggunakan PHP untuk melaksanakannya. Sebagai contoh, kita boleh menggunakan rangka kerja PHP seperti Laravel, Yii, CodeIgniter, dsb. untuk membina antara muka API bahagian belakang dengan cepat. Rangka kerja ini boleh melengkapkan penghalaan, model, pengawal, operasi pangkalan data, dsb.

  1. Pengawal melaksanakan logik antara muka API

Selepas membina antara muka API, kita perlu menulis pengawal yang sepadan untuk mengendalikan permintaan bahagian hadapan. Sebagai contoh, kami boleh melaksanakan UserController untuk mengendalikan pendaftaran pengguna, log masuk dan permintaan lain. Contoh kod adalah seperti berikut:

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']);
        }
    }
}
  1. Pemprosesan akses merentas domain

Disebabkan pelaksanaan pemisahan bahagian hadapan dan belakang, bahagian hadapan- end dan back-end tidak berada di bawah nama domain yang sama, jadi terdapat isu merentas domain . Kita boleh menggunakan CORS (Cross Origin Resource Sharing, cross-domain resource sharing) untuk menyelesaikan masalah merentas domain. Dalam rangka kerja Laravel, kami boleh melaksanakan tetapan CORS melalui Middleware dan menentukan nama domain yang membenarkan permintaan merentas domain dengan menetapkan Access-Control-Allow-Origin. Kod sampel adalah seperti berikut:

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);
    }
}

Anda perlu mendaftarkan middleware dalam Kernel:

protected $middleware = [
    \App\Http\Middleware\CorsMiddleware::class,
];
  1. Permintaan HTTP bahagian hadapan

Bahagian hadapan sedang memanggil antara muka API Apabila anda perlu menghantar permintaan HTTP, kaedah permintaan termasuk GET, POST, PUT, DELETE, dsb. Antaranya, kaedah GET digunakan untuk mendapatkan data, kaedah POST digunakan untuk menghantar data, kaedah PUT digunakan untuk mengemaskini data, dan kaedah DELETE digunakan untuk memadam data. Dalam rangka kerja bahagian hadapan seperti jQuery atau Angular, permintaan HTTP boleh dihantar melalui kaedah $.ajax atau $http. Kod sampel adalah seperti berikut:

$.ajax({
    url: 'http://api.example.com/register',
    type: 'POST',
    data: {username: 'test', password: '123456'},
    dataType: 'json',
    beforeSend: function() {
        // 请求前处理逻辑
    },
    success: function(data) {
        // 响应成功处理逻辑
    },
    error: function() {
        // 响应错误处理逻辑
    }
});
  1. Arahan lain

Dalam proses merealisasikan pemisahan PHP front-end dan back-end, anda juga perlu untuk memberi perhatian kepada beberapa isu keselamatan, seperti: antara muka anti-memberus, parameter Untuk pengesahan keselamatan, dsb., logik pemprosesan yang sepadan perlu ditambahkan pada kod. Selain itu, penulisan dan penyelenggaraan dokumen antara muka juga perlu dipertimbangkan untuk memudahkan penggunaan pembangun bahagian hadapan.

Ringkasnya, pemisahan bahagian hadapan dan bahagian belakang PHP tidak sukar dicapai, tetapi kita perlu sentiasa merumuskan pengalaman dalam amalan dan meningkatkan kualiti dan keselamatan kod untuk mencapai hasil yang baik.

Atas ialah kandungan terperinci Ajar anda langkah demi langkah cara menggunakan PHP untuk memisahkan bahagian hadapan dan belakang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn