Можно ли задать тип переменной экземпляра в php?
Только сеттером.
PHP не требует (и не поддерживает) явного типа при определении переменной; тип переменной определяется по контексту, в котором она используется. То есть, если вы присвоите значение типа string переменной $var, то $var станет строкой. Если вы затем присвоите $var целочисленное значение, она станет целым числом.
php.net/manual/ru/language.types.type-juggling.php