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.