Perbedaan include dan require php

Dalam PHP:

Table of Contents

  • Sebuah jawaban setelah 7 tahun untuk 2018
  • Apakah perbedaan penggunaan fungsi include [] dan require [] di PHP?
  • Apa fungsi include dan require?
  • Apa itu require pada PHP?
  • Apa itu include dalam bahasa pemrograman?

  • Kapan saya harus menggunakan require vs. include?
  • Kapan saya harus menggunakan require_once vs. include_once?

Ada require dan include_once juga.

Jadi pertanyaan Anda seharusnya ...

  1. Kapan saya harus menggunakan require vs. include?
  2. Kapan saya harus menggunakan require_once vs. require

Jawaban untuk 1 dijelaskan di sini .

Fungsi memerlukan [] identik dengan menyertakan [], kecuali bahwa ia menangani kesalahan secara berbeda. Jika kesalahan terjadi, fungsi include [] menghasilkan peringatan, tetapi skrip akan melanjutkan eksekusi. Wajib [] menghasilkan kesalahan fatal, dan skrip akan berhenti.

Jawaban ke 2 dapat ditemukan di sini .

Pernyataan require_once [] identik dengan mengharuskan [] kecuali PHP akan memeriksa apakah file tersebut telah disertakan, dan jika demikian, tidak termasuk [memerlukan] lagi.

Menggunakan

  • membutuhkan
    ketika file tersebut adalah wajib oleh aplikasi Anda, mis. templat pesan penting atau file yang berisi variabel konfigurasi yang tanpanya aplikasi akan rusak.

  • require_once
    saat file berisi konten yang akan menghasilkan kesalahan pada inklusi berikutnya, mis. function important[] { /* important code */} pasti diperlukan dalam aplikasi Anda tetapi karena fungsi tidak dapat dideklarasikan ulang tidak boleh dimasukkan lagi.

  • termasuk ketika file tidak diperlukan dan aliran aplikasi harus dilanjutkan ketika tidak ditemukan, mis.
    bagus untuk template yang mereferensikan variabel dari lingkup saat ini atau sesuatu

  • include_once
    dependensi opsional yang akan menghasilkan kesalahan pada pemuatan berikutnya atau mungkin inklusi file jarak jauh yang Anda tidak ingin terjadi dua kali karena overhead HTTP

Namun pada dasarnya, terserah Anda kapan harus menggunakan yang mana.

Saran saya adalah cukup gunakan require_once 99.9% dari waktu.

Menggunakan require atau include sebagai gantinya menyiratkan bahwa kode Anda tidak dapat digunakan kembali di tempat lain, yaitu bahwa skrip yang Anda tarik sebenarnya jalankan kode alih-alih membuat tersedia kelas atau pustaka fungsi.

Jika Anda memerlukan/menyertakan kode yang dijalankan saat itu juga, itu adalah kode prosedural, dan Anda perlu mengenal paradigma baru . Seperti pemrograman berorientasi objek, pemrograman berbasis fungsi, atau pemrograman fungsional.

Jika Anda sudah melakukan OO atau pemrograman fungsional, sebagian besar menggunakan include_once akan menjadi menunda di mana di stack Anda menemukan bug/kesalahan. Apakah Anda ingin tahu bahwa fungsi do_cool_stuff[] tidak tersedia ketika Anda memanggilnya nanti, atau saat Anda mengharapkannya tersedia dengan memerlukan perpustakaan? Secara umum, yang terbaik adalah segera mengetahui jika sesuatu yang Anda butuhkan dan harapkan tidak tersedia, jadi gunakan require_once saja.

Atau, dalam OOP modern, cukup autoload kelas Anda saat digunakan.

Perbedaan antara fungsi _once dan tanpa fungsi _once: tanpa kode _once akan dimasukkan lagi sedangkan dengan fungsi _once PHP melacak file yang disertakan dan akan memasukkannya hanya sekali.

Perbedaan antara keharusan dan termasuk: Jika file yang diperlukan tidak ditemukan PHP akan memunculkan kesalahan fatal sedangkan untuk menyertakan hanya peringatan akan dipancarkan.

include[] akan memberikan peringatan jika tidak dapat menyertakan file, tetapi sisa skrip akan berjalan.

require[] akan melempar E_COMPILE_ERROR dan menghentikan skrip jika tidak dapat menyertakan file.

Fungsi include_once[] dan require_once[] tidak akan menyertakan file untuk kedua kalinya jika sudah disertakan.

Lihat halaman dokumentasi berikut:

  • termasuk
  • membutuhkan
  • include_once
  • require_once

Setiap kali Anda menggunakan require_once[] dapat digunakan dalam file untuk memasukkan file lain ketika Anda membutuhkan file yang dipanggil hanya satu kali dalam file saat ini. Di sini, dalam contoh ini saya memiliki test1.php.

  

dan di file lain yang saya beri nama test2.php


saat Anda menonton m yang membutuhkan file test1 dua kali tetapi file akan menyertakan test1 satu kali dan untuk panggilan pada saat kedua ini akan diabaikan. Dan tanpa henti akan menampilkan output satu kali.

Setiap kali Anda menggunakan 'include_once [] `dapat digunakan dalam file untuk memasukkan file lain saat Anda membutuhkan file yang dipanggil lebih dari sekali dalam file saat ini. Di sini, dalam contoh saya memiliki file bernama test3.php.

 

Dan di file lain yang saya beri nama test4.php


saat Anda menonton m termasuk file test3 akan menyertakan file satu kali tetapi menghentikan eksekusi lebih lanjut.

Gunakan "include" untuk templat PHP dapat digunakan kembali. Gunakan "wajib" untuk perpustakaan yang dibutuhkan.

"* _once" bagus, karena memeriksa apakah file sudah dimuat atau tidak, tetapi hanya masuk akal bagi saya di "require_once".

Perbedaannya terletak pada kesalahan yang dihasilkan perintah. Dengan require, file yang ingin Anda gunakan benar-benar diperlukan dan dengan demikian menghasilkan E_ERROR jika tidak ditemukan.

require[] identik dengan include[] kecuali jika gagal, ia juga akan menghasilkan kesalahan tingkat E_ERROR yang fatal.

include hanya menghasilkan kesalahan E_WARNING jika gagal yang lebih atau kurang diam.

Jadi gunakan jika file diperlukan untuk membuat kode yang tersisa berfungsi dan Anda ingin skrip gagal, file tidak tersedia.

Untuk *_once[]:

include_once[] dapat digunakan dalam kasus di mana file yang sama mungkin dimasukkan dan dievaluasi lebih dari satu kali selama eksekusi skrip tertentu, jadi dalam kasus ini dapat membantu menghindari masalah seperti definisi ulang fungsi, penugasan kembali nilai variabel, dll.

Hal yang sama berlaku untuk require_once[] tentu saja.

Referensi: require[] , include_once[]

Sebuah jawaban setelah 7 tahun untuk 2018

Pertanyaan ini diajukan tujuh tahun lalu, dan tidak ada jawaban yang memberikan bantuan praktis untuk pertanyaan itu. Dalam pemrograman PHP modern Anda terutama menggunakan required_once hanya sekali untuk memasukkan kelas autoloader Anda [sering komposer autoloader], dan itu akan memuat semua kelas dan fungsi Anda [file fungsi perlu ditambahkan secara eksplisit ke file composer.json ke tersedia di semua file lainnya]. Jika karena alasan apa pun kelas Anda tidak dapat dimuat dari autoloader, Anda menggunakan require_once untuk memuatnya.

Saat ini Anda menggunakan require hanya untuk membagi sebagian besar file PHP. Ini terutama definisi array besar. Dalam kasus seperti itu, Anda hanya menggunakan require bukan require_once.

 

Bài mới nhất

Chủ Đề