国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Pertama, ulasan ringkas mengenai sejarah PHP
Gunakan kes untuk templat PHP
Langkah 1: Dapatkan data yang akan dibentangkan
Langkah 2: Sediakan data templat
Langkah 3: Buat fungsi rendering
Langkah 4: Buat templat
Rumah hujung hadapan web tutorial css PHP adalah A-OK untuk templat

PHP adalah A-OK untuk templat

Apr 11, 2025 am 11:04 AM

PHP adalah A-OK untuk templat

Enjin templat PHP sering dikritik kerana kemudahan mereka menghasilkan kod berkualiti rendah, tetapi ini tidak semestinya benar. Mari kita lihat bagaimana projek PHP menguatkuasakan struktur model-view-controller (MVC) asas tanpa bergantung pada enjin template yang berdedikasi.

Pertama, ulasan ringkas mengenai sejarah PHP

Sejarah PHP sebagai alat templat HTML penuh dengan kelainan dan giliran.

Salah satu bahasa pengaturcaraan terawal yang digunakan untuk templat HTML adalah C, tetapi dengan cepat mendapati bahawa ia adalah rumit untuk digunakan dan sering tidak sesuai untuk tugas ini.

Rasmus Lerdorf mencipta PHP dengan ini. Dia tidak bertentangan dengan menggunakan C untuk mengendalikan logik perniagaan backend, tetapi mahu cara yang lebih baik untuk menghasilkan HTML dinamik frontend. PHP pada asalnya direka sebagai bahasa templat, tetapi dari masa ke masa ia mengadopsi lebih banyak ciri dan akhirnya menjadi bahasa pengaturcaraan lengkap dan lengkap.

Keupayaan unik PHP untuk beralih antara mod pengaturcaraan dan mod HTML dianggap sangat mudah, tetapi ia juga memudahkan pengaturcara untuk menulis kod kod yang sukar ditulis yang menggabungkan logik perniagaan dan logik templat bersama-sama. Fail PHP boleh bermula dengan beberapa templat HTML dan kemudian tiba -tiba menembusi pertanyaan SQL lanjutan tanpa amaran. Struktur ini sukar dibaca dan digunakan semula templat HTML.

Dari masa ke masa, komuniti pembangunan web telah mendapati bahawa menguatkuasakan struktur MVC yang ketat untuk projek PHP menjadi semakin berharga. Enjin templat dibuat sebagai cara untuk memisahkan pandangan secara berkesan dari pengawalnya.

Untuk mencapai tugas ini, enjin templat biasanya mempunyai ciri -ciri berikut:

  1. Enjin sengaja melemahkan keupayaan logik perniagaan. Sebagai contoh, jika pemaju ingin melaksanakan pertanyaan pangkalan data, mereka perlu melakukan pertanyaan itu dalam pengawal dan kemudian lulus hasilnya ke templat. Tidak mustahil untuk menanyakan HTML dalam templat.
  2. Enjin mengendalikan risiko keselamatan bersama di belakang tabir. Templat biasanya secara automatik melarikan diri dari HTML berbahaya walaupun pemaju gagal mengesahkan input pengguna dan lulus terus ke dalam templat.

Enjin templat kini merupakan ciri utama dalam banyak tumpukan teknologi web. Mereka membuat lebih banyak pangkalan kod yang dapat dipelihara dan lebih selamat, jadi tidak mengejutkan.

Walau bagaimanapun, PHP tulen juga boleh digunakan untuk mengendalikan templat HTML . Anda mungkin mahu melakukan ini untuk beberapa sebab. Mungkin anda sedang menjalankan projek warisan dan tidak mahu memperkenalkan sebarang kebergantungan tambahan, atau anda sedang menjalankan projek yang sangat kecil dan lebih suka menyimpannya ringan. Atau, keputusan ini tidak terpulang kepada anda sama sekali.

Gunakan kes untuk templat PHP

Salah satu perkara yang saya sering melaksanakan templat PHP tulen ialah WordPress, yang tidak menguatkuasakan struktur MVC yang ketat secara lalai. Saya merasa agak membosankan untuk memperkenalkan enjin template penuh, tetapi saya masih mahu memisahkan logik perniagaan saya dari templat saya dan mahu pandangan saya dapat diguna semula.

Walau apa pun alasan anda, menggunakan PHP tulen untuk menentukan templat HTML anda kadang -kadang disukai. Artikel ini meneroka cara melakukan ini dengan cara yang lebih profesional. Pendekatan ini mewakili tradeoff praktikal antara gaya kod spageti terkenal templat PHP dan pendekatan "logik-tidak dibenarkan" yang disediakan oleh enjin templat formal.

Mari kita menyelam jauh ke dalam contoh bagaimana untuk meletakkan sistem templat asas menjadi amalan. Sekali lagi, kami menggunakan WordPress sebagai contoh, tetapi ini boleh digantikan dengan persekitaran PHP tulen atau banyak persekitaran lain. Anda tidak perlu akrab dengan WordPress untuk terus membaca.

Matlamatnya adalah untuk memecahkan pandangan kami ke dalam komponen dan mewujudkan perbezaan yang jelas antara logik perniagaan dan templat HTML. Khususnya, kami akan membuat pandangan yang menunjukkan grid kad. Setiap kad akan memaparkan tajuk, ringkasan dan pengarang artikel baru -baru ini.

Langkah 1: Dapatkan data yang akan dibentangkan

Langkah pertama ialah mendapatkan data yang ingin kami paparkan dalam paparan. Ini mungkin melibatkan pelaksanaan pertanyaan SQL atau akses tidak langsung ke pangkalan data menggunakan fungsi Rangka Kerja/CMS ORM atau Helper. Ia juga boleh melibatkan membuat permintaan HTTP ke API luaran atau mengumpul input pengguna dari borang atau rentetan pertanyaan.

Dalam contoh ini, kami akan menggunakan fungsi Helper get_posts WordPress untuk mendapatkan beberapa jawatan untuk dipaparkan di laman utama kami.

  php // index.php
$ wp_posts = get_posts ([
  'NumberPosts' => 3
]);

Kami kini mempunyai akses kepada data yang ingin kami paparkan di grid kad, tetapi kami perlu melakukan kerja tambahan sebelum menyampaikannya kepada pandangan kami.

Langkah 2: Sediakan data templat

Fungsi get_posts mengembalikan pelbagai objek WP_POST. Setiap objek mengandungi tajuk artikel, ringkasan, dan maklumat pengarang yang kami perlukan, tetapi kami tidak mahu pasangan pandangan kami ke jenis objek WP_POST kerana kami mungkin ingin memaparkan jenis data lain pada kad kami di tempat lain dalam projek.

Sebaliknya, masuk akal untuk secara aktif menukar setiap objek artikel ke jenis data neutral (seperti array bersekutu):

  php // index.php
$ wp_posts = get_posts ([
  'NumberPosts' => 3
]);

$ cards = array_map (fungsi ($ wp_post) {
  Kembali [
    'Heading' => $ wp_post-> Post_title,
    'badan' => $ wp_post-> post_excerpt,
    'Footing' => get_author_name ($ wp_post-> post_author)
  ];
}, $ wp_posts);

Dalam kes ini, setiap objek WP_POST ditukar kepada array bersekutu menggunakan fungsi array_map . Perhatikan bahawa kunci untuk setiap nilai bukan tajuk, petikan, dan pengarang, tetapi diberi nama yang lebih umum: tajuk, badan, dan pijakan. Kami melakukan ini kerana komponen mesh kad direka untuk menyokong sebarang jenis data, bukan hanya artikel. Sebagai contoh, ia boleh digunakan dengan mudah untuk memaparkan grid cadangan yang mengandungi rujukan dan nama pelanggan.

Sebaik sahaja data siap, kini boleh dimasukkan ke dalam fungsi render_view kami:

  php // index.php
// Pengambilan data dan pemformatan adalah sama seperti sebelum render_view ('cards_grid', [
  'kad' => $ kad
]);

Sudah tentu, fungsi render_view belum wujud. Mari kita tentukannya.

Langkah 3: Buat fungsi rendering

 // Tentukan dalam fungsi.php atau lokasi lain yang menjadikannya tersedia secara global.
// Sekiranya anda bimbang tentang kemungkinan konflik di ruang nama global,
// Anda boleh menentukan fungsi ini sebagai kaedah statik fungsi kelas nama Render_View ($ paparan, $ data)
{
  ekstrak ($ ??data);
  memerlukan ('pandangan/'. $ Lihat. '.php');
}

Fungsi ini menerima nama pandangan yang akan diberikan dan array bersekutu yang mewakili sebarang data yang akan dipaparkan. Fungsi extract mengambil setiap item dalam array bersekutu dan mencipta pembolehubah untuknya. Dalam contoh ini, kami kini mempunyai pembolehubah yang dipanggil $cards yang mengandungi item yang kami sediakan dalam index.php.

Sejak pandangan dijalankan dalam fungsinya sendiri, ia mempunyai skop sendiri. Ini baik kerana ia membolehkan kita menggunakan nama pembolehubah mudah tanpa bimbang tentang konflik.

Baris kedua fungsi kami mencetak pandangan yang sepadan dengan nama yang diluluskan. Dalam kes ini, ia mencari pandangan dalam views/cards_grid.php . Mari teruskan dan buat fail.

Langkah 4: Buat templat

  php/ * views/cards_grid.php */?>
    php foreach ($ kad sebagai $ kad) :?>
  • php render_view ('kad', $ kad)?>
  • php endforeach; ?>

Templat ini menggunakan pembolehubah $cards yang anda hanya diekstrak dan menjadikannya sebagai senarai yang tidak teratur. Untuk setiap kad dalam array, templat membuat subview: paparan kad tunggal.

Templat dengan kad tunggal berguna kerana ia memberi kita fleksibiliti untuk menjadikan kad tunggal secara langsung atau menggunakannya dalam pandangan lain di tempat lain dalam projek.

Mari tentukan pandangan kad asas:

  php/ * paparan/card.php */?>
<div>
   php if (! kosong ($ heading)) :?>
    <h4> php echo htmlspecialchars ($ heading)?></h4>
   php endif; ?>
   php jika (! kosong ($ badan)) :?>
    <p> php echo htmlspecialchars ($ body)?></p>
   php endif; ?>
   php if (! kosong ($ pijakan)) :?>
     php echo htmlspecialchars ($ pooting)?>
   php endif; ?>
</div>

Oleh kerana $card diluluskan ke fungsi render mengandungi kunci untuk tajuk, badan, dan pijakan, pembolehubah dengan nama yang sama kini boleh digunakan dalam templat.

Dalam contoh ini, kita boleh cukup yakin bahawa data kami bukan XSS berbahaya, tetapi mungkin bahawa pandangan ini kemudiannya boleh digunakan dengan input pengguna, jadi berhemat untuk lulus setiap nilai kepada htmlspecialchars . Jika tag skrip wujud dalam data kami, ia akan selamat melarikan diri.

Secara umumnya berguna untuk memeriksa sama ada setiap pembolehubah mengandungi nilai bukan nol sebelum membuat. Ini membolehkan pembolehubah ditinggalkan tanpa meninggalkan tag HTML kosong dalam tag kami.

Enjin templat PHP adalah hebat, tetapi kadang -kadang sesuai untuk menggunakan PHP untuk mencapai tujuan reka bentuk asalnya: menghasilkan HTML dinamik .

Templatisasi dalam PHP tidak perlu menyebabkan kod gaya spageti yang sukar dikekalkan. Dengan tontonan yang sedikit, kita dapat melaksanakan sistem MVC asas yang memisahkan pandangan dan pengawal antara satu sama lain, dan ini dapat dilakukan dengan jumlah kod yang sangat kecil.

Atas ialah kandungan terperinci PHP adalah A-OK untuk templat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Tutorial CSS untuk membuat pemuatan dan animasi pemuatan Tutorial CSS untuk membuat pemuatan dan animasi pemuatan Jul 07, 2025 am 12:07 AM

Terdapat tiga cara untuk membuat pemutar pemuatan CSS: 1. Gunakan pemutar asas sempadan untuk mencapai animasi mudah melalui HTML dan CSS; 2. Gunakan pemutar tersuai pelbagai mata untuk mencapai kesan lompat melalui masa kelewatan yang berlainan; 3. Tambahkan pemutar dalam butang dan beralih kelas melalui JavaScript untuk memaparkan status pemuatan. Setiap pendekatan menekankan pentingnya butiran reka bentuk seperti warna, saiz, kebolehcapaian dan pengoptimuman prestasi untuk meningkatkan pengalaman pengguna.

Menangani masalah dan awalan keserasian penyemak imbas CSS Menangani masalah dan awalan keserasian penyemak imbas CSS Jul 07, 2025 am 01:44 AM

Untuk menangani keserasian pelayar CSS dan isu awalan, anda perlu memahami perbezaan sokongan penyemak imbas dan menggunakan awalan vendor dengan munasabah. 1. Memahami masalah biasa seperti Flexbox dan sokongan grid, kedudukan: prestasi tidak sah, dan prestasi animasi adalah berbeza; 2. Periksa status sokongan ciri CANIUSE Ciri; 3. Gunakan dengan betul -webkit-, -moz-, -ms-, -o- dan awalan pengeluar lain; 4. Adalah disyorkan untuk menggunakan autoprefixer untuk menambah awalan secara automatik; 5. Pasang postcss dan konfigurasi penyemak imbas untuk menentukan penyemak imbas sasaran; 6. Secara automatik mengendalikan keserasian semasa pembinaan; 7. Ciri -ciri pengesanan moden boleh digunakan untuk projek lama; 8. Tidak perlu meneruskan konsistensi semua pelayar,

Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay: inline, block, andinline-blockinhtml/cssarelayoutbehavior, spaceusage, andstylingcontrol.1.inlineelementsflowwithtext, notstartonNewlines, abaikanwidth/height, andonyapplylylylylylinddding/

Gaya yang dikunjungi pautan berbeza dengan CSS Gaya yang dikunjungi pautan berbeza dengan CSS Jul 11, 2025 am 03:26 AM

Menetapkan gaya pautan yang telah anda lawati dapat meningkatkan pengalaman pengguna, terutama di laman web yang berintensifkan kandungan untuk membantu pengguna menavigasi lebih baik. 1. Gunakan CSS: Kelas pseudo yang dilawati untuk menentukan gaya pautan yang dikunjungi, seperti perubahan warna; 2. Perhatikan bahawa penyemak imbas hanya membenarkan pengubahsuaian beberapa atribut disebabkan oleh sekatan privasi; 3. Pemilihan warna harus diselaraskan dengan gaya keseluruhan untuk mengelakkan ketangkasan; 4. Terminal mudah alih mungkin tidak memaparkan kesan ini, dan disyorkan untuk menggabungkannya dengan arahan visual lain seperti logo tambahan ikon.

Membuat bentuk tersuai dengan laluan klip CSS Membuat bentuk tersuai dengan laluan klip CSS Jul 09, 2025 am 01:29 AM

Gunakan atribut clip-path CSS untuk menanam unsur-unsur ke dalam bentuk tersuai, seperti segitiga, takik bulat, poligon, dan lain-lain, tanpa bergantung pada gambar atau SVG. Kelebihannya termasuk: 1. Menyokong pelbagai bentuk asas seperti Circle, Ellipse, Polygon, dan lain -lain; 2. Pelarasan responsif dan boleh disesuaikan dengan terminal mudah alih; 3. Mudah untuk animasi, dan boleh digabungkan dengan hover atau javascript untuk mencapai kesan dinamik; 4. Ia tidak menjejaskan aliran susun atur, dan hanya tanaman kawasan paparan. Penggunaan umum adalah seperti laluan klip bulat: bulatan (50pxatcenter) dan triangle clip-path: polygon (50%0%, 100 0%, 0 0%). Notis

Bagaimana untuk membuat imej responsif menggunakan CSS? Bagaimana untuk membuat imej responsif menggunakan CSS? Jul 15, 2025 am 01:10 AM

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Apakah ketidakkonsistenan penyemak imbas CSS biasa? Apakah ketidakkonsistenan penyemak imbas CSS biasa? Jul 26, 2025 am 07:04 AM

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

Unit CSS Demystifying: PX, EM, REM, VW, VH Perbandingan Unit CSS Demystifying: PX, EM, REM, VW, VH Perbandingan Jul 08, 2025 am 02:16 AM

Pilihan unit CSS bergantung kepada keperluan reka bentuk dan keperluan responsif. 1.PX digunakan untuk saiz tetap, sesuai untuk kawalan yang tepat tetapi kekurangan keanjalan; 2.EM adalah unit relatif, yang mudah disebabkan oleh pengaruh unsur induk, sementara REM lebih stabil berdasarkan unsur akar dan sesuai untuk skala global; 3.VW/VH didasarkan pada saiz viewport, sesuai untuk reka bentuk yang responsif, tetapi perhatian harus dibayar kepada prestasi di bawah skrin yang melampau; 4. Apabila memilih, ia harus ditentukan berdasarkan sama ada pelarasan responsif, hubungan hierarki elemen dan ketergantungan viewport. Penggunaan yang munasabah boleh meningkatkan fleksibiliti dan penyelenggaraan susun atur.

See all articles