Dengan perkembangan pesat Internet, pelayan sumber statik telah menjadi bahagian penting dalam pembangunan aplikasi web. Pelayan sumber statik bertanggungjawab terutamanya untuk penyimpanan dan pengedaran sumber statik (seperti gambar, js, css dan fail lain), memberikan pengguna pengalaman akses yang lebih pantas dan stabil. Dalam pembangunan PHP, ThinkPHP6, sebagai rangka kerja MVC yang popular, menyediakan beberapa fungsi terbina dalam untuk membantu kami membina pelayan sumber statik dengan cepat.
Memikirkan sumber statik dalam ThinkPHP
Dalam ThinkPHP6, kami boleh mengendalikan permintaan untuk sumber statik dengan mudah melalui beberapa fungsi dan kelas terbina dalam. ThinkPHP boleh mengendalikan permintaan sumber statik di bawah /public/ secara lalai, jadi permintaan untuk direktori seperti /static/, /images/, /css/ dan /js boleh diproses secara langsung. Dalam fail /public/index.php, fail teras ThinkPHP diperkenalkan dan logik pemprosesan sumber statik ditakrifkan:
if (is_file(__DIR__ . '/../public' . $_SERVER['REQUEST_URI'])) { return false; }
Jika URL yang diminta ialah fail dan fail itu terletak dalam /public / directory , maka fail ini akan dikembalikan terus tanpa analisis penghalaan dan pemprosesan pengawal. Ini kerana sumber dalam direktori /public/ boleh diakses terus tanpa menggunakan peraturan penghalaan untuk menyelesaikannya. Sudah tentu, jika anda perlu menyesuaikan laluan ke direktori /public/, anda boleh mengubah suai pembolehubah public_root dalam fail config/app.php. Contohnya:
'public_root' => __DIR__ . '/../assets/',
Ini akan menentukan direktori aset bagi direktori akar aplikasi sebagai direktori akar direktori /public/, dan bukannya menggunakan direktori /public/ lalai.
Cara menggunakan CDN untuk mengakses fail statik
Dalam persekitaran penggunaan sebenar, untuk mengoptimumkan trafik dan kelajuan akses dengan lebih baik, kami biasanya memuat naik fail statik ke CDN (Rangkaian Penghantaran Kandungan, Rangkaian Penghantaran Kandungan ) pembekal untuk penyimpanan dan pengedaran. Ringkasnya, CDN ialah rangkaian yang menggunakan berbilang nod untuk cache dan mengedarkan sumber statik Apabila pengguna mengakses sumber, mereka boleh mendapatkan sumber daripada pelayan nod yang paling dekat dengan mereka, dengan itu memberikan pengalaman pengguna yang lebih pantas dan stabil. Dalam ThinkPHP6, untuk menggunakan CDN untuk mengakses fail statik, anda perlu membuat konfigurasi yang berkaitan dalam fail konfigurasi.
Mula-mula anda perlu mengubah suai nama hos CDN, contohnya, tukar laluan sumber /public/statik asal kepada:
http://cdn.example.com/static/
Kemudian, dalam fail config/app.php, cari app.url_html_suffix dan Untuk dua pembolehubah app.static_domain, tukar nilainya kepada:
'url_html_suffix' => '.html', 'static_domain' => 'http://cdn.example.com',
Dengan cara ini, nama hos CDN dan nama domain statik dikonfigurasikan dan .html digunakan sebagai pseudo -akhiran statik Apabila permintaan sumber statik tiba, Rangka kerja akan sepadan berdasarkan awalan URL parameter static_domain dan terus mengembalikan fail yang sepadan pada CDN.
Jika anda memerlukan akses CDN kepada fail dalam direktori aset, anda boleh menggunakan pautan berikut semasa mengakses:
http://cdn.example.com/assets/images/logo.jpg
Dalam kes ini, fail statik akan diakses melalui nama CDN cdn .example.com untuk lawatan. Dalam sesetengah penyedia CDN, anda juga boleh menentukan kaedah akses dengan melaraskan pengepala respons HTTP, contohnya:
Cache-Control: max-age=31536000,public
Pengepala respons ini memberitahu penyemak imbas bahawa ia boleh cache fail ini dan menjadikannya sah dalam masa satu jam.
Ringkasan
Pelayan sumber statik merupakan bahagian yang tidak boleh diketepikan dalam pembangunan aplikasi web Terutama apabila volum trafik agak besar, adalah sangat perlu untuk menggunakan CDN untuk akses. Dalam ThinkPHP6, kami boleh mengkonfigurasi nama hos dan nama domain statik CDN dengan mudah, dan menggunakan beberapa fungsi dan kelas mudah untuk mengendalikan permintaan sumber statik, dengan itu meningkatkan kelajuan dan pengalaman akses pengguna.
Atas ialah kandungan terperinci Menggunakan pelayan fail statik dalam ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!