Por favor, entiende la diferencia.
Una propiedad de un objeto puede ser un boolean, integer, array o incluso otro objeto.
Si quieres saber si una propiedad existe en un objeto debes usar property_exists().
En cambio si quieres averiguar si existe una clave en determinado array, sin importar si es parte de un objeto o no debes usar array_key_exists().
En tu caso $this->options no es un objeto, por lo tanto property_exists() no sirve, pero si es un array entonces... ¿si entiendes?