Takeaways Key
Drupal 8 termasuk beberapa komponen simfoni penting, meningkatkan keupayaannya dan menawarkan pemaju Drupal peluang untuk mengetahui lebih lanjut mengenai Symfony. -
Komponen Symfony di Drupal 8 termasuk httpkernel, httpfoundation, eventdispatcher, classloader, yaml, routing, dependencyinjection, ranting, proses, serializer, validator, dan terjemahan. Setiap komponen ini menambah ciri dan fungsi unik kepada Drupal 8. -
Selain komponen simfoni, Drupal 8 juga termasuk komponen PHP pihak ketiga seperti aset, komposer, doktrin, easyrdf, guzzle, phpunit, dan psr-3 pembalakan, semuanya meningkatkan kualiti, skalabilitas, dan prestasi DRUPAL 8 . -
Pengintegrasian komponen simfoni dan komponen pihak ketiga di Drupal 8 telah mempermudahkan proses kerja, menjadikan Drupal lebih kuat, boleh dikekalkan, dan berskala.
-
Jika anda seorang Drupaler, anda mesti sedar bahawa Drupal 8 sedang dalam perjalanan. Apa yang anda tidak tahu ialah ia termasuk beberapa komponen simfoni penting. Bekerja dengan Drupal 8.x akan memberi Drupalers peluang untuk menjadi sebahagian daripada lengkung pembelajaran besar -besaran dan akan menggoda mereka untuk mengetahui lebih lanjut mengenai Symfony. Dalam artikel ini, kita membincangkan komponen Symfony yang telah ditambah kepada Drupal 8, yang meliputi beberapa perpustakaan pihak ketiga di sepanjang jalan.
Sebelum kita masuk ke dalam artikel sebenar, marilah kita terlebih dahulu meliputi Symfony secara ringkas. Ia adalah rangka kerja aplikasi web berasaskan PHP yang mengikuti seni bina MVC. Selain itu, ia adalah projek sumber terbuka yang telah dikeluarkan di bawah lesen MIT. Sila pastikan anda tidak membingungkan dengan CMS Symfony. Jika anda ingin meneroka rangka kerja Symfony
dengan lebih terperinci, lihat halaman Wiki atau mana -mana artikel SitePoint sebelumnya mengenainya.
Sekarang mari kita pelajari tentang komponen Symfony yang sedang dilaksanakan di Drupal 8.
Komponen Symfony di Drupal 8.x
Berikut adalah komponen Symfony yang akan menguasai teras Drupal 8 ke tahap utama:
httpkernel dan httpfoundation - Ini bertanggungjawab untuk menyelaraskan proses menukar permintaan menjadi respons dengan bantuan EventDispatcher. Drupal 8 yang dipindahkan ke Symfony didorong oleh Perkhidmatan Web dan Inisiatif Teras Kandungan (WSCCI) -
REST Server dengan CMS kelas pertama berjalan di atasnya. Inisiatif ini bertujuan untuk membolehkan Drupal menggunakan perkhidmatan web untuk menawarkan kandungannya dengan kerumitan yang dikurangkan; Memandangkan ini sebagai penglihatan jangka panjang, Drupal akan menjadi lebih fleksibel, mantap dan mudah dikekalkan CMS.
-
EventDispatcher - Melaksanakan corak mediator (yang menggunakan enkapsulasi) dengan cara yang mudah dan berkesan terutama di mana warisan kod tidak berfungsi, menjadikan aplikasi itu sangat diperluaskan. Ia lebih berkesan dalam situasi di mana anda cenderung untuk mengekalkan dan/atau refactor program yang terdiri daripada sejumlah besar kelas kerana fakta bahawa ia menjadikan komunikasi di kalangan kelas agak mudah dan mudah.
-
ClassLoader - menyediakan alat yang kelas autoload dan cache lokasi mereka. PHP menggunakan mekanisme autoloading untuk mewakilkan pemuatan fail yang mentakrifkan kelas dalam situasi di mana anda merujuk kelas yang belum diperlukan atau dimasukkan lagi. Symfony dilengkapi dengan autoloaders seperti loader kelas PSR-0 dan MapClassLoader. Melaksanakan komponen ClassLoader akan menjadikan pemaju modul Drupal secara riang terutama ketika melaksanakan modul_load_include dan kebergantungan lain. Selain itu, ia membolehkan pemaju memanggil kelas yang mudah semasa jangka masa.
-
yaml - ia menghidupkan tali yaml dan menukarkannya kepada array php dan sebaliknya. Format ini telah direka khas untuk memegang maklumat berkaitan konfigurasi, sementara menjadi ekspresif sebagai fail XML dan sebagai fail INI yang boleh dibaca. Ia berfungsi sebagai komponen integral dari CMI Drupal (Inisiatif Pengurusan Konfigurasi) yang membolehkan modul kami pada mulanya menentukan tetapan konfigurasi lalai mereka dan kemudian membolehkan pembina tapak untuk mengatasi sama seperti yang diarahkan. Konsep CMI Drupal 8 yang dikuasakan oleh YAML adalah pengganti ciri -ciri modul Drupal yang disumbangkan yang membuktikan sebagai konsep yang mantap sejauh berpindah dan menyebarkan seluruh persekitaran.
Routing - membolehkan kami memuat semua laluan, dan membuang pemadaman URL atau penjana khusus untuk laluan ini. Ini juga bermakna ia memaparkan permintaan HTTP ke satu set pembolehubah konfigurasi. Setakat versi Drupal 8 dan ke atas, kami menentukan laluan modul kami dalam fail konfigurasi YAML, masing -masing ditetapkan untuk mencetuskan tindakan tertentu yang telah ditakrifkan dalam kelas modul kami.
-
DependencyInjection - terutamanya digunakan untuk menyeragamkan dan memusatkan objek cara dibina dalam permohonan kami. Komponen Ketergantungan Symfony telah dimasukkan ke dalam Drupal 8 dengan niat untuk menulis kod sedemikian rupa sehingga kelas boleh digunakan semula dan diuji unit di mana sahaja yang berkenaan dan dikehendaki.
Twig - Drupal 8 telah mengadopsi enjin templat Twig. Ini menarik minat para penonton yang mungkin tidak akan memikirkan apa -apa pilihan lain selagi mereka bekerja pada tema Drupal. Twig telah dibangunkan oleh - Fabien Potencier
, yang juga membangunkan projek Symfony, dan ditala dengan baik untuk integrasi ke Drupal 8.
Proses -
-Membantu melaksanakan arahan dalam sub-proses menggunakan antara muka baris arahan. Drupal 8 akan menggunakan ini untuk mengendalikan semua aktiviti yang bersifat baris.
-
Serializer - Ia digunakan untuk mengubah objek ke dalam format tertentu (mis. XML, YAML, JSON, dan lain -lain) dan sebaliknya. Untuk memahaminya dengan lebih baik, marilah kita melihat skema berikut bahawa komponen Serializer berikut:
Selain itu, kita boleh menggunakannya untuk mencapai beberapa pekerjaan, mulai dari konfigurasi ke nod dan penciptaan entiti yang harus disampaikan oleh titik akhir rehat.
-
Validator - Membantu Drupal Mengesahkan nilai. Contohnya: Mengesahkan Penyerahan Borang, Mengesahkan Entiti Dalam Drupal, dan lain-lain. Untuk mencapai tugasnya, ia menggunakan Anotasi Doktrin (dibincangkan dalam komponen pihak ketiga ) .
- Terjemahan - Menyediakan satu set alat standard untuk memuatkan fail terjemahan, menghasilkan rentetan terjemahan sebagai output, dan gunakan hasil yang dihasilkan.
Komponen Pihak Ketiga Out-of-the-Box
Kami melalui komponen simfoni yang telah disertakan dengan Drupal 8. Dalam bahagian ini, kami akan mengetahui tentang komponen PHP pihak ke -3 yang telah dilaksanakan di Drupal 8 dan tidak berkaitan dengan Symfony. Mereka adalah:
- Asset - An Rangka Kerja Pengurusan Aset . Aset di Drupal terdiri daripada fail CSS, fail JavaScript, imej, fail media lain, metadata, dan lain -lain. Aset ini mengandungi kandungan yang boleh ditapis yang boleh dimuat dan dibuang. Untuk memanipulasi aset, anda perlu menggunakan penapis yang sesuai. Untuk memahami penapis, dalam situasi yang masing-masing boleh digunakan, cara menggunakan penapis, membina, membuang, dan banyak lagi, kami mengesyorkan anda membaca halaman GitHub Aset.
Komposer
- alat yang direka khusus dan dibangunkan untuk mengurus kebergantungan dalam PHP yang membolehkan kami mengisytiharkan perpustakaan yang bergantung kepada keperluan projek kami dan memasangnya untuk kami. Walaupun ia berkaitan dengan pakej dan perpustakaan, ia bukan pengurus pakej. Komposer adalah rahmat untuk Drupal 8 kerana berikut:
-
mengendalikan situasi dengan sangat cekap di mana projek anda bergantung kepada beberapa perpustakaan.
menangani situasi di mana terdapat konsep ketergantungan bersarang di kalangan perpustakaan. Contohnya; Projek anda bergantung kepada perpustakaan (katakan,
- Doktrin - Satu kumpulan alat untuk digunakan dengan rekod pangkalan data. Drupal 8 menggunakan sebahagian daripadanya yang dipanggil
anotasi yang mendedahkan metadata tambahan kepada Drupal. Usaha telah dibuat untuk membentangkan fungsi rumit seperti itu dengan cara yang agak mudah dan berguna, terutamanya apabila menentukan jenis entiti tersuai. Jika anda ingin meneroka lebih lanjut mengenai bagaimana doktrin sepatutnya digunakan dengan Drupal 8, kami mengesyorkan anda melawat halaman dokumentasi.
- Easyrdf - Perpustakaan PHP yang telah digunakan dengan Drupal 8 untuk menyediakan kemudahan dalam memakan dan menghasilkan RDF. Dengan bantuan Easyrdf, Drupal 8 menambah keupayaan untuk menghasilkan metadata dalam markup dengan cara yang mudah dan mudah. Anda juga boleh melawat laman rasmi Easyrdf untuk mengetahui lebih lanjut mengenainya.
Guzzle - Ia adalah klien dan kerangka PHP HTTP yang membantu Drupal 8 membuat permintaan web menggunakan panggilan perkhidmatan web berasaskan REST. Ini menjadikan Drupal 8 portal web lebih cekap dari segi pengendalian pelbagai perkhidmatan web. Untuk meneroka lebih lanjut mengenai Guzzle, kami mengesyorkan membaca artikel sebelumnya di atasnya. -
phpUnit - Digunakan dalam Drupal 8 untuk menyeragamkan ujian unit di seluruh inti serta membantu pemaju menulis kod yang sangat berkualiti. PHPUnit memastikan bahawa mana-mana kod yang ditulis dalam Drupal 8 dan dalam mana-mana modul tersuai yang dimasukkan ke dalam IT sepadan dengan piawaian industri dan berfungsi seperti yang diharapkan sepanjang kitaran hayatnya. Anda boleh mengawasi status semasa pemerbadanan PHPUNIT ke Drupal 8 dengan pergi ke sini. -
Pembalakan PSR-3-Sistem pembalakan biasa yang dikongsi oleh keseluruhan aplikasi PHP. Drupal 7 dan versi lama menggunakan WatchDog () untuk tujuan ini. Menukar pembalakan Drupal dari Watchdog () ke rangka kerja pembalakan PSR-3 telah menjadikan Drupal 8 lebih mantap dan berskala dari segi pembalakan biasa. Anda boleh menjejaki status semasa komponen ini di Switchdog Switch ke kerangka pembalakan PSR-3. -
Kesimpulan
Pengenalan beberapa komponen Symfony telah mempermudah bekerja dengan Drupal 8. Selain itu, termasuk beberapa komponen bukan simfoni telah menambahkan nilai kepada Drupal 8 dari segi kualiti, skalabilitas, dan prestasi, menjadikannya lebih mantap dan dikekalkan.
soalan yang sering ditanya mengenai Symfony dan Drupal 8
Apakah faedah menggunakan Symfony dalam Drupal 8? Integrasi Symfony di Drupal 8 memberikan beberapa faedah. Pertama, ia meningkatkan kelajuan dan prestasi laman web Drupal. Kedua, ia menyediakan cara berstruktur dan standard untuk membina laman web, menjadikannya lebih mudah bagi pemaju untuk memahami dan mengubah suai kod tersebut. Akhir sekali, Symfony mempunyai komuniti yang besar dan aktif yang menyediakan kemas kini dan pembetulan keselamatan secara berkala, memastikan umur panjang dan kebolehpercayaan laman web Drupal anda.
Bagaimanakah Symfony memperbaiki seni bina Drupal 8? kod. Ini menjadikan kod itu lebih mudah dipelihara dan boleh diuji. Tambahan pula, httpkernel Symfony membolehkan Drupal mengendalikan permintaan dan tindak balas dengan cara yang standard, meningkatkan interoperabilitas dengan projek PHP yang lain. Beberapa komponen simfoni, termasuk httpfoundation, httpkernel, routing, EventDispatcher, DependencyInjection, dan ClassLoader. Komponen-komponen ini mengendalikan pelbagai aspek kitaran permintaan, penghalaan, pengurusan acara, pengurusan pergantungan, dan autoloading kelas. > Dengan integrasi Symfony, pembangunan modul Drupal 8 telah menjadi lebih efisien dan cekap. Pemaju kini boleh menggunakan bekas perkhidmatan Symfony untuk suntikan ketergantungan, menjadikan modul mereka lebih modular dan boleh diuji. Juga, penggunaan sistem penghalaan Symfony membolehkan routing URL yang lebih fleksibel dan berkuasa. Sebagai contoh, komponen HTTPKERNEL membolehkan Drupal mengendalikan permintaan dan tindak balas dengan cara yang standard, mengurangkan overhead dan meningkatkan masa tindak balas. Di samping itu, EventDispatcher Symfony membolehkan pengurusan acara yang cekap, mengurangkan jumlah pelaksanaan kod yang tidak perlu. untuk aplikasi anda. Ia menyediakan ciri -ciri seperti pengesahan, kebenaran, penyulitan data, dan perlindungan terhadap kelemahan web yang sama. Dengan memanfaatkan komponen ini, Drupal 8 dapat menyediakan platform yang lebih selamat untuk aplikasi web anda. fikiran. Ia mengikuti piawaian PHP-FIG dan menggunakan komposer untuk pengurusan pakej, menjadikannya serasi dengan pelbagai projek dan perpustakaan PHP. Ini bermakna Drupal 8, dengan Symfony pada terasnya, dengan mudah dapat diintegrasikan dengan teknologi lain dan memanfaatkan ekosistem yang luas pakej PHP. 🎜> Symfony menyediakan beberapa alat dan komponen yang membantu dalam ujian dan debugging. Sebagai contoh, komponen debug dan vardumper menyediakan alat yang berguna untuk menyahpepijat aplikasi anda. Juga, komponen Browserkit dan Domcrawler Symfony boleh digunakan untuk ujian fungsional laman web Drupal 8 anda.
Bagaimanakah Symfony menyumbang kepada masa depan Drupal 8? Ia mengikuti amalan terbaik dalam pembangunan web dan mengekalkan trend terkini dalam PHP. Dengan mengintegrasikan Symfony, Drupal 8 memastikan bahawa ia tetap relevan dan terus menyediakan platform yang mantap untuk pembangunan web pada masa akan datang. > Walaupun Symfony memperkenalkan konsep dan amalan baru yang mungkin tidak biasa kepada pemaju Drupal, ia juga menyediakan cara yang lebih berstruktur dan berstandar untuk membina laman web. Ini sebenarnya boleh menjadikannya lebih mudah untuk belajar dan memahami Drupal 8. Tambahan pula, terdapat banyak sumber dan tutorial yang tersedia untuk Symfony, yang dapat membantu pemaju bangun untuk mempercepatkan dengan cepat.
Atas ialah kandungan terperinci Symfony di Drupal 8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!