PHP'de Dosyaları Tek Seferlik Bağlama
Diyelim ki içinde bir dizi fonksiyonun saklandığı
pow.php adında bir dosyamız var:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Diyelim ki pow.php dosyasındaki fonksiyonları
sum.php dosyasında kullanıyoruz:
<?php
require 'pow.php';
function squareSum($arr) {
$res = 0;
foreach ($arr as $elem) {
$res += square($elem);
}
return $res;
}
function cubeSum($arr) {
$res = 0;
foreach ($arr as $elem) {
$res += cube($elem);
}
return $res;
}
?>
Diyelim ki ana dosyamızda her iki fonksiyon dosyasını da bağlıyoruz:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Ancak bizi bir problem bekliyor.
index.php dosyasına pow.php
dosyası iki kez bağlanmış olacak: bir kendi başına
ve bir de sum.php dosyası aracılığıyla.
Bu bir soruna yol açacak, çünkü aynı isimde iki fonksiyon setimiz olacak.
Sorunu çözmek için tüm dosyaları
require_once operatörü ile bağlamalısınız
- bu operatör dosyayı yalnızca bir kez bağlayacak,
tekrarlanan bağlamaları yoksayacaktır:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Faydalı fonksiyon setleri içeren birkaç dosya yapın. Bu dosyaları birbirine ve ana dosyanıza bağlayın.