亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Jadual Kandungan
Berikut adalah komponen Symfony yang akan menguasai teras Drupal 8 ke tahap utama:
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.

Symfony di Drupal 8

Feb 22, 2025 am 08:30 AM

Symfony di Drupal 8

Takeaways Key

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: Symfony di Drupal 8

    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,
      lib1
    • ) dan di tern

      lib1

      bergantung kepada beberapa perpustakaan lain (katakan,
    • lib2
    • ). ??>

      Adalah tanggungjawab komposer untuk memilih versi pakej atau perpustakaan yang perlu dipasang kecuali dengan jelas diberitahu versi mana yang akan disasarkan.

  • 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!

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)

php regex untuk kekuatan kata laluan php regex untuk kekuatan kata laluan Jul 03, 2025 am 10:33 AM

Untuk menentukan kekuatan kata laluan, perlu menggabungkan pemprosesan biasa dan logik. Keperluan asas termasuk: 1. Panjang tidak kurang daripada 8 digit; 2. Sekurang -kurangnya mengandungi huruf kecil, huruf besar, dan nombor; 3. Sekatan watak khas boleh ditambah; Dari segi aspek lanjutan, duplikasi berterusan aksara dan urutan tambahan/penurunan perlu dielakkan, yang memerlukan pengesanan fungsi PHP; Pada masa yang sama, senarai hitam harus diperkenalkan untuk menapis kata laluan lemah yang biasa seperti kata laluan dan 123456; Akhirnya, disyorkan untuk menggabungkan perpustakaan ZXCVBN untuk meningkatkan ketepatan penilaian.

Skop pembolehubah PHP dijelaskan Skop pembolehubah PHP dijelaskan Jul 17, 2025 am 04:16 AM

Masalah dan penyelesaian biasa untuk skop pembolehubah PHP termasuk: 1. Pembolehubah global tidak dapat diakses dalam fungsi, dan ia perlu diluluskan menggunakan kata kunci atau parameter global; 2. Pembolehubah statik diisytiharkan dengan statik, dan ia hanya dimulakan sekali dan nilai dikekalkan antara pelbagai panggilan; 3. Pembolehubah hyperglobal seperti $ _get dan $ _post boleh digunakan secara langsung dalam mana -mana skop, tetapi anda perlu memberi perhatian kepada penapisan yang selamat; 4. Fungsi Anonymous perlu memperkenalkan pembolehubah skop induk melalui kata kunci penggunaan, dan apabila mengubah suai pembolehubah luaran, anda perlu lulus rujukan. Menguasai peraturan ini boleh membantu mengelakkan kesilapan dan meningkatkan kestabilan kod.

Bagaimana cara mengendalikan fail memuat naik dengan selamat di PHP? Bagaimana cara mengendalikan fail memuat naik dengan selamat di PHP? Jul 08, 2025 am 02:37 AM

Untuk mengendalikan muat naik fail PHP dengan selamat, anda perlu mengesahkan sumber dan jenis, mengawal nama fail dan laluan, menetapkan sekatan pelayan, dan memproses fail media dua kali. 1. Sahkan sumber muat naik untuk mengelakkan CSRF melalui token dan mengesan jenis mime sebenar melalui finfo_file menggunakan kawalan putih; 2. Namakan semula fail ke rentetan rawak dan tentukan pelanjutan untuk menyimpannya dalam direktori bukan web mengikut jenis pengesanan; 3. Konfigurasi PHP mengehadkan saiz muat naik dan direktori sementara Nginx/Apache melarang akses ke direktori muat naik; 4. Perpustakaan GD menyambung semula gambar -gambar untuk membersihkan data yang berpotensi.

Mengulas kod dalam php Mengulas kod dalam php Jul 18, 2025 am 04:57 AM

Terdapat tiga kaedah umum untuk kod komen PHP: 1. Use // atau # untuk menyekat satu baris kod, dan disyorkan untuk menggunakan //; 2. Gunakan /.../ untuk membungkus blok kod dengan pelbagai baris, yang tidak boleh bersarang tetapi boleh diseberang; 3. Komen -komen kemahiran gabungan seperti menggunakan / jika () {} / untuk mengawal blok logik, atau untuk meningkatkan kecekapan dengan kunci pintasan editor, anda harus memberi perhatian kepada simbol penutupan dan mengelakkan bersarang apabila menggunakannya.

Bagaimana penjana berfungsi dalam php? Bagaimana penjana berfungsi dalam php? Jul 11, 2025 am 03:12 AM

Ageneratorinphpisamemory-efficientwaytoiterateOverlargedatasetsbyieldingvaluesonateatimeNsteadofreturningthemallatonce.1.GeneratorSuseTheyEldeyWorderWorderToProducevaluuesondemand,

Petua untuk menulis komen php Petua untuk menulis komen php Jul 18, 2025 am 04:51 AM

Kunci untuk menulis komen PHP adalah untuk menjelaskan tujuan dan spesifikasi. Komen harus menjelaskan "mengapa" dan bukannya "apa yang dilakukan", mengelakkan redundansi atau terlalu kesederhanaan. 1. Gunakan format bersatu, seperti docblock (/*/) untuk deskripsi kelas dan kaedah untuk meningkatkan keserasian dan keserasian alat; 2. Menekankan sebab -sebab di sebalik logik, seperti mengapa JS melompat perlu dikeluarkan secara manual; 3. Tambahkan gambaran keseluruhan gambaran sebelum kod kompleks, terangkan proses dalam langkah -langkah, dan membantu memahami idea keseluruhan; 4. Gunakan Todo dan Fixme secara rasional untuk menandakan item dan masalah untuk memudahkan penjejakan dan kerjasama berikutnya. Anotasi yang baik dapat mengurangkan kos komunikasi dan meningkatkan kecekapan penyelenggaraan kod.

Tutorial pemasangan php cepat Tutorial pemasangan php cepat Jul 18, 2025 am 04:52 AM

Toinstallphpquickly, usexampponwindowsorhomeBrewonmacos.1.onwindows, downloadandInstallxampp, selectcomponents, startapache, andplaceFilesinhtdocs.2.alternative, secara manualstallphpfromphp.netandsheBerver.3

Belajar PHP: Panduan Pemula Belajar PHP: Panduan Pemula Jul 18, 2025 am 04:54 AM

Tolearnphpeffectively, startbysettingupalocalverenvironmentusingToolsLikexamppandaCodeDitorLikevscode.1) InstallXamppforapa Che, MySql, danPhp.2) UseAcodeeditorForsyntaxSupport.3) testyoursetupwithasimplephpfile.next, learnphpbasicsincludingvariables, ech

See all articles