


Cara menyediakan perkongsian sumber merentas domain (CORS) menggunakan perisian tengah dalam rangka kerja Slim
Cara untuk menyediakan perkongsian sumber silang (CORS) menggunakan middleware dalam rangka kerja Slim
Perkongsian sumber merentas domain (CORS) ialah mekanisme yang membolehkan pelayan menetapkan beberapa maklumat tambahan dalam pengepala respons HTTP untuk memaklumkan Sama ada penyemak imbas membenarkan permintaan merentas domain. Dalam sesetengah projek dengan pemisahan bahagian hadapan dan bahagian belakang, mekanisme CORS boleh digunakan untuk merealisasikan permintaan silang domain bahagian hadapan untuk antara muka bahagian belakang.
Apabila menggunakan rangka kerja Slim untuk membangunkan API REST, kami boleh menggunakan perisian tengah untuk menetapkan pengepala respons HTTP berkaitan CORS untuk membenarkan permintaan merentas domain. Berikut ialah contoh untuk menunjukkan cara menggunakan perisian tengah untuk menetapkan CORS dalam rangka kerja Slim.
Pertama, kita perlu mencipta kelas perisian tengah tersuai untuk menetapkan pengepala respons HTTP berkaitan CORS. Cipta fail bernama CorsMiddleware dengan kandungan berikut:
<?php namespace AppMiddleware; use PsrHttpMessageRequestInterface; use PsrHttpMessageResponseInterface; use PsrHttpServerMiddlewareInterface; use PsrHttpServerRequestHandlerInterface; class CorsMiddleware implements MiddlewareInterface { public function process(RequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); return $response ->withHeader('Access-Control-Allow-Origin', '*') ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS') ->withHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); } }
Kod di atas mentakrifkan kelas CorsMiddleware dan melaksanakan antara muka MiddlewareInterface. Dalam kaedah proses, kami memperoleh objek tindak balas yang diminta dengan memanggil kaedah pemegang $handler, dan kemudian menggunakan kaedah withHeader objek tindak balas untuk menetapkan maklumat pengepala CORS yang sepadan.
Menggunakan middleware ini dalam rangka kerja Slim adalah sangat mudah, kita hanya perlu mendaftarkan middleware dalam konfigurasi aplikasi. Dalam fail index.php aplikasi, tambahkan kod berikut:
<?php use AppMiddlewareCorsMiddleware; use SlimFactoryAppFactory; require __DIR__ . '/../vendor/autoload.php'; $app = AppFactory::create(); // 注册CorsMiddleware中间件 $app->add(new CorsMiddleware()); // 添加路由和处理逻辑 $app->get('/', function ($request, $response, $args) { $response->getBody()->write("Hello, world!"); return $response->withHeader('Content-Type', 'text/plain'); }); $app->run();
Dalam kod di atas, kami mendaftarkan perisian tengah CorsMiddleware ke dalam aplikasi melalui kaedah $app->add. Dengan cara ini, setiap permintaan akan diproses oleh perisian tengah ini dan pengepala respons CORS yang sepadan akan ditetapkan.
Kini kami boleh melancarkan aplikasi Slim dan menghantar permintaan merentas domain untuk menguji sama ada CORS berfungsi. Anda boleh menggunakan alat pembangun penyemak imbas anda atau alatan permintaan HTTP lain untuk menghantar permintaan OPTIONS ke laluan akar aplikasi kami. Jika semuanya disediakan dengan betul, anda sepatutnya dapat melihat bahawa pengepala respons HTTP mengandungi medan Access-Control-Allow-Origin, Access-Control-Allow-Methods dan Access-Control-Allow-Headers, dengan itu membenarkan CORS cross- permintaan domain.
Melalui contoh di atas, kami mempelajari cara menggunakan perisian tengah dalam rangka kerja Slim untuk menyediakan perkongsian sumber merentas domain CORS. Kaedah ini sangat mudah dan fleksibel serta boleh dikembangkan dan disesuaikan mengikut keperluan dalam projek sebenar. Di bawah aliran semasa pemisahan bahagian hadapan dan bahagian belakang, kaedah ini sangat berguna dan boleh membantu kami menangani masalah permintaan silang domain bahagian hadapan.
Atas ialah kandungan terperinci Cara menyediakan perkongsian sumber merentas domain (CORS) menggunakan perisian tengah dalam rangka kerja Slim. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)