Rumah > pembangunan bahagian belakang > tutorial php > phpmaster | Pengendalian HTML sisi pelayan menggunakan phpQuery

phpmaster | Pengendalian HTML sisi pelayan menggunakan phpQuery

Joseph Gordon-Levitt
Lepaskan: 2025-02-27 10:26:15
asal
302 orang telah melayarinya

phpmaster | Pengendalian HTML sisi pelayan menggunakan phpQuery Dalam tugas hari ke hari pembangunan web kami, kami perlu bekerja dengan kod pelanggan dan pelayan. Kami menulis logik perniagaan menggunakan PHP dan menjana HTML untuk dipaparkan dalam pelayar pengguna. Kemudian kami menggunakan rangka kerja seperti jQuery atau prototaip untuk menyediakan interaktiviti pelanggan. Sekarang fikirkan bagaimana anda boleh menukar dan memanipulasi HTML yang dihasilkan menggunakan kod PHP sisi pelayan. PhPQuery adalah penyelesaian utama yang akan datang ke fikiran anda. Jika anda tidak pernah mendengar tentang PhPQuery, anda mungkin berminat dengan artikel ini kerana saya akan memberi anda pengenalan ringkas kepada PhPQuery dan menerangkan bagaimana anda boleh menggunakannya dalam projek dunia nyata.

Takeaways Key

  • phpQuery adalah API Objek Dokumen Dokumen Dokumen Pemilih (DOM) Server-Side, Chainable, CSS3 berdasarkan Perpustakaan JQuery JavaScript. Ia memudahkan tugas yang memerlukan manipulasi DOM, menyediakan fungsi yang sama untuk jQuery dan menghapuskan keperluan untuk penjanaan kod HTML yang tidak kemas menggunakan pernyataan echo dan kaedah yang serupa.
  • Fungsi PhPQuery termasuk mewujudkan elemen DOM, memilih dan memanipulasi unsur -unsur, meleleh melalui DOM, dan mencetak output ke penyemak imbas. Ia juga menyediakan ciri -ciri seperti pemilih, atribut, melintasi, manipulasi, Ajax, acara, dan utiliti.
  • PhPQuery membolehkan pemaju menukar dan memanipulasi HTML yang dihasilkan menggunakan kod PHP sisi pelayan. Ini dapat meningkatkan prestasi dan keselamatan aplikasi web, seperti tugas yang secara tradisinya dilakukan di sisi klien kini boleh dikendalikan di sisi pelayan.
  • PhPQuery menyediakan kualiti kod dan kelanjutan yang lebih baik berbanding dengan kod PHP tulen. Ia membolehkan kod dibuka untuk lanjutan tetapi ditutup untuk pengubahsuaian, mematuhi prinsip terbuka. Ini bermakna fungsi baru boleh ditambah tanpa mengubah kod sedia ada, meningkatkan keteguhan dan pemeliharaan kod.

Apa itu phpQuery

PHPQuery adalah API Objek Dokumen Dokumen Dokumen Pemilih (DOM) Server-Side, Chainable, Chainable, CSS3 berdasarkan perpustakaan JQuery JavaScript.
Ini adalah definisi yang diberikan pada halaman Projek PhPQuery rasmi. Jika anda telah menggunakan jQuery, maka anda akan mempunyai idea bagaimana ia dapat memudahkan banyak tugas yang memerlukan manipulasi DOM. PHPQuery menyediakan fungsi yang sama yang sama untuk digunakan di dalam kod PHP sisi pelayan anda. Anda boleh mengatakan selamat tinggal kepada penjanaan kod HTML yang tidak kemas menggunakan pernyataan ECHO dan kaedah yang serupa. Anda akan mempunyai akses kepada kebanyakan fungsi yang disediakan oleh JQuery di PhPQuery, yang secara meluas boleh dibahagikan kepada 4 tugas yang disebutkan di bawah:
  • Membuat Elemen Dom
  • Memilih dan memanipulasi Elemen
  • meleleh melalui dom
  • Mencetak output ke penyemak imbas
Anda boleh melaksanakan tugas -tugas menggunakan ciri -ciri yang disediakan oleh PhPQuery yang dikenali sebagai "bahagian jQuery yang dipindahkan." Mari lihat ciri -ciri yang pertama:
  • pemilih - cari elemen berdasarkan keadaan yang diberikan.
  • Atribut
  • - Bekerja dengan atribut elemen DOM.
  • Traversing - Perjalanan melalui senarai elemen yang dipilih.
  • Manipulasi - Tambah dan keluarkan kandungan pada elemen yang dipilih.
  • AJAX - Buat permintaan pelayan AJAX.
  • acara - mengikat peristiwa dom pada unsur -unsur yang dipilih.
  • utiliti - fungsi generik untuk menyokong ciri -ciri lain.
Anda boleh memuat turun perpustakaan phpQuery dari halaman projek di code.google.com/p/phpQuery. Salin folder ke pelayan web anda dan anda sudah bersedia untuk pergi. Pemasangan adalah mudah seperti itu, dan anda boleh melaksanakan fail demo.php untuk bermula.

cara menggunakan phpQuery

Saya akan menunjukkan kepada anda bagaimana untuk membuat senarai dua lajur yang tidak teratur dengan tajuk dan warna baris yang berbeza untuk ganjil dan juga baris, seperti yang ditunjukkan dalam imej di bawah:

phpmaster | Pengendalian HTML sisi pelayan menggunakan phpQuery Pertama, mari buat dokumen HTML menggunakan PhPQuery:

Kod di atas akan membuat dokumen HTML asas dengan tag div. Perpustakaan menyediakan pelbagai kaedah untuk membuat dokumen; Saya telah menggunakan yang paling mudah, tetapi anda boleh mencari orang lain dalam demo.php dan dokumentasi. Sekarang kita perlu membuat senarai yang tidak teratur dan menambahkannya ke dokumen HTML kami.
<span><span><?php
</span></span><span><span>require("phpQuery/phpQuery.php");
</span></span><span><span>$doc = phpQuery<span>::</span>newDocument("<div/>");</span></span>
Salin selepas log masuk
Salin selepas log masuk
Anda dapat melihat bahawa kami mempunyai senarai yang tidak teratur sekarang. Tetapi semua elemen berada dalam satu lajur, yang merupakan lalai. Kita perlu memindahkan unsur -unsur senarai ke dalam lajur kedua.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div"]->append("<ul><li>Product Name</li><li>Price</li></ul>");
</span></span><span><span>$products = array(
</span></span><span>    <span>array("Product 1","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 2","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 3","<span><span></span>"</span>));
</span></span><span>
</span><span><span>foreach($products as $key=>$product) {
</span></span><span>    <span>$doc["div ul"]->append("<li><span><span>$product[0]</span></li><li><span>$product[1]</span></li>"</span>);
</span></span><span><span>}
</span></span><span><span>print $doc;</span></span>
Salin selepas log masuk
Salin selepas log masuk
Saya menggunakan atribut gaya untuk menentukan gaya CSS yang diperlukan untuk contoh kami di sini, tetapi tidak disyorkan untuk menggunakan gaya sebaris kecuali ia benar -benar diperlukan. Sentiasa gunakan kelas CSS untuk menambah gaya. Sekarang, mari kita menyerlahkan tajuk dan baris bernombor menggunakan kaedah phpQuery.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div ul"]->attr("style", "width:420px;");
</span></span><span><span>$doc["div ul"]->find("li:even")->attr("style","width:200px; float:left; padding:5px; list-style:none;");
</span></span><span><span>$doc["div ul"]->find("li:odd")->attr("style","width:200px; float:left; padding:5px; list-style:none;");</span></span>
Salin selepas log masuk
Kami telah menyelesaikan contoh mudah kami, dan kini anda harus mempunyai idea bagaimana phpQuery boleh digunakan untuk mempermudahkan pelayan generasi HTML. Segala -galanya yang kami lakukan hampir sama seperti yang akan dilakukan dengan jQuery, kecuali kami melakukan semua tindakan terhadap objek $ doc.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div ul"]->find("li:nth-child(4n)")->attr("style","background:#EEE; width:200px; float:left; padding:5px; list-style:none;");
</span></span><span><span>$doc["div ul"]->find("li:nth-child(4n-1)")->attr("style","background:#EEE; width:200px; float:left; padding:5px; list-style:none;");
</span></span><span><span>$doc["div ul"]->find("li:lt(1)")->attr("style","background:#CFCFCF; width:200px; float:left; padding:5px; list-style:none;");</span></span>
Salin selepas log masuk
Kepentingan phpQuery

Walaupun saya menjelaskan fungsi phpQuery, anda mesti tertanya-tanya mengapa kita memerlukan perpustakaan apabila kita mempunyai jQuery di sisi pelanggan. Saya akan menunjukkan kepentingan phpQuery menggunakan senario praktikal. Pertimbangkan situasi berikut: Anggapkan kami mempunyai jadual seperti yang berikut, yang mempunyai semua maklumat mengenai pemaju web yang pergi ke wawancara.

Sekarang inilah senarai keperluan yang perlu kita usahakan dalam senario ini:

  • pemohon yang mendapat tanda lebih dari 60 untuk peperiksaan harus diserlahkan dengan warna biru.
  • Pemohon yang mempunyai pengalaman bekerja lebih dari 3 tahun harus mempunyai pautan di depan yang dilabelkan "Memohon Jurutera Perisian Kanan" dan pemohon lain harus mempunyai pautan "Memohon Jurutera Perisian".
  • Syarikat mempunyai struktur gaji berdasarkan pengalaman:
    • 1 tahun - $ 5,000
    • 2 tahun - $ 10,000
    • 3 tahun - $ 20,000
    • lebih daripada 3 tahun - $ 50,000
    • Lajur Gaji harus diserlahkan dalam warna hijau untuk pemohon yang sepadan dengan kriteria.
  • Inilah cara output harus kelihatan:

Pemaju mungkin menyediakan penyelesaian berikut untuk memenuhi keperluan menggunakan kod PHP tulen.

<span><span><?php
</span></span><span><span>require("phpQuery/phpQuery.php");
</span></span><span><span>$doc = phpQuery<span>::</span>newDocument("<div/>");</span></span>
Salin selepas log masuk
Salin selepas log masuk
Sekarang mari kita lakukan menggunakan phpQuery dan bandingkan kod dan kelebihan.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div"]->append("<ul><li>Product Name</li><li>Price</li></ul>");
</span></span><span><span>$products = array(
</span></span><span>    <span>array("Product 1","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 2","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 3","<span><span></span>"</span>));
</span></span><span>
</span><span><span>foreach($products as $key=>$product) {
</span></span><span>    <span>$doc["div ul"]->append("<li><span><span>$product[0]</span></li><li><span>$product[1]</span></li>"</span>);
</span></span><span><span>}
</span></span><span><span>print $doc;</span></span>
Salin selepas log masuk
Salin selepas log masuk
PhPQuery mudah jika anda mempunyai pengetahuan untuk bekerja dengan jQuery sudah. Kebanyakan kod di atas akan jelas. Saya ingin menyebut walaupun PQ () merujuk kepada dokumen semasa. Semua yang lain adalah fungsi jQuery. Dan walaupun kedua -duanya kelihatan sama, kod yang menggunakan PhPQuery memberikan kualiti dan kelanjutan yang lebih baik. Fikirkan bagaimana rapuh kod asal boleh jika anda perlu menambah fungsi tambahan kemudian. Mari kita anggap kita mahu menambah pengesahan tambahan pada tanda berdasarkan pengalaman kerja. Dalam senario itu, anda perlu menambah kaedah lain dan menetapkan hasil yang dikembalikan di dalam gelung foreach. Ini bermakna anda perlu menukar kod yang telah ditulis, melanggar prinsip terbuka:
Entiti perisian (kelas, modul, fungsi, dan lain -lain) harus dibuka untuk lanjutan, tetapi ditutup untuk pengubahsuaian.
Dengan contoh kedua yang menggunakan phpQuery, kod pertama dihasilkan tanpa sebarang pengesahan, dan kemudian kami lulus jadual ke dalam setiap fungsi dan perubahan dimasukkan ke dalam jadual asal. Setiap fungsi tidak menjejaskan fungsi lain, jadi kami boleh menulis fungsi baru untuk sebarang keperluan baru dan menggunakannya di luar gelung dengan fungsi lain. Kami tidak mengubah suai kod sedia ada, yang kedengarannya baik, bukan? Ini dipanggil Hiasan:
Corak penghias adalah corak reka bentuk yang membolehkan tingkah laku ditambah ke objek yang sedia ada secara dinamik.

Ringkasan

Kami memulakan tutorial ini dengan memperkenalkan ciri -ciri phpQuery dan kepentingannya. Selepas belajar bagaimana menggunakan PhPQuery menggunakan contoh mudah, kami berpindah ke contoh praktikal di mana ia menjadi lebih penting dalam meningkatkan kualiti kod. PhPQuery telah memberikan kami perspektif baru untuk bekerja dengan HTML di sisi pelayan, dan saya harap anda akan menggunakan PhPQuery dengan cara yang berbeza dan berkongsi pengalaman peribadi anda dalam komen di bawah.

soalan yang sering ditanya mengenai pengendalian HTML sisi pelayan menggunakan phpQuery

Apakah phpQuery dan mengapa penting untuk pengendalian HTML sisi pelayan? Ia ditulis dalam PHP5 dan menyediakan cara mudah untuk mengendalikan elemen HTML di sisi pelayan. Ia membolehkan pemaju untuk melaksanakan tugas -tugas seperti Dokumen HTML Traversal dan Manipulasi, Pengendalian Acara, dan Animasi, yang secara tradisinya dilakukan di sisi klien. Ini dapat meningkatkan prestasi dan keselamatan aplikasi web dengan ketara.

Bagaimanakah phpQuery berbanding dengan perpustakaan manipulasi DOM yang lain? Ia menyokong kebanyakan sintaks jQuery, menjadikannya mudah untuk memilih, memanipulasi, dan melintasi elemen HTML. Tidak seperti beberapa perpustakaan lain, phpQuery boleh dihubungkan, bermakna anda boleh menghubungkan pelbagai tindakan dalam satu pernyataan.

Bagaimana saya memasang phpQuery? Anda boleh menambah phpQuery ke projek anda dengan menjalankan komposer perintah memerlukan phpQuery/phpQuery. Ini akan memuat turun dan memasang versi stabil phpQuery dan kebergantungannya. Sebagai contoh, untuk memilih semua perenggan dalam dokumen, anda akan menggunakan $ doc ['p']. Anda juga boleh menggunakan pemilih yang lebih kompleks, seperti $ doc ['div.content> p'] untuk memilih semua perenggan yang langsung kanak -kanak div dengan "kandungan" kelas. Sebagai contoh, anda boleh menggunakan append (), prepend (), selepas (), dan sebelum () kaedah untuk memasukkan kandungan. Anda juga boleh menggunakan kaedah Attr () untuk mendapatkan atau menetapkan nilai atribut, dan addClass (), penyingkiran (), dan toggleclass () kaedah untuk memanipulasi kelas. Anda boleh menggunakan kaedah ini untuk melampirkan pengendali acara ke elemen. Sebagai contoh, $ doc ['p']-> bind ('klik', fungsi () {echo 'perenggan diklik!';}); akan echo "perenggan diklik!" Setiap kali perenggan diklik. Kaedah ini membolehkan anda menghantar permintaan HTTP tak segerak ke pelayan dan memanipulasi respons menggunakan phpQuery. Kaedah ini membolehkan anda membuat animasi tersuai dengan menukar sifat CSS dari masa ke masa. Kaedah ini membolehkan anda menavigasi unsur -unsur dalam dokumen. Ia direka untuk menjadi fleksibel dan saling beroperasi, menjadikannya alat yang hebat untuk mana -mana toolkit pemaju PHP.

Atas ialah kandungan terperinci phpmaster | Pengendalian HTML sisi pelayan menggunakan phpQuery. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan