include
a> özel bir dil oluşumu ve değil bir fonksiyon olarak, bu parametrenin liste için parantez gerek yoktur:
include()
özel bir dil oluşumu olduğundan, parantez içine gerekli değildir. Dönüş değeri karşılaştırırken dikkat edin.
Aslında bu sadece bir parametre vardır ve ek parantez sararak şey değişmez:
1 ≡ (1) ≡ ((1)) ≡ (((1))) ≡ ...
Yani deyim (paremter sadece sarılır) bu aynıdır:
require_once (('abc.php') or die("oops"));
Yani biz ya true veya false olduğu parametre olarak bir boolean ifade var. Ve değerler "1"
ve ""
sırasıyla dize eşdeğer olduğunu:
var_dump((string) true === "1");
var_dump((string) false === "");
Bu Failed opening required '1' hata mesajı almak nedeni budur.
Ama bu gibi doğru yerde parantez kullanarak istediğiniz gibi iş yapar:
(@include_once 'abc.php') or die("oops");
İşte 'abc.php'
açıkça die("oops")
include_once
dönüş değeri üzerinde gerçekleştirilen ile parametre ve ayrılmasıdır. Dosya yoksa @
operatörü is just to ignor the error message includ_once
atmak olacaktır.
PS: print
a> da özel bir dil oluşumu ve aynı şekilde çalışır.