Каква е разликата между:
когато подава null като дефолт стойност на параметър
и когато задаваш, че параметърът може и да е null
Демек:
function registerServices(int $id = null){…}
function registerServices(?int $id){…}
Съвсем различни са:
$id = null показва, че може и ДА НЯМА подаден параметър, в който случай се приема, че е подаден null или каквато и да е там дефолтна стойност.
?$id показва, че ТРЯБВА ЗАДЪЛЖИТЕЛНО да има подадена стойност за този парам, но МОЖЕ И ДА Е NULL
Демек:
1. може и да няма нищо
2. не може да няма нещо, ако ще и да е null