src/Base/BaseObject.php
public function canSetProperty($name, $checkVars = true)
    {
        $setter = static::_GETTER_PREFIX . $name;
        return method_exists($this, $setter) || $checkVars && property_exists($this, $name);
    }
public function canSetProperty($name, $checkVars = true)
    {
        $setter = static::_GETTER_PREFIX . $name;
        return method_exists($this, $setter) || $checkVars && property_exists($this, $name);
    }
Returns a value indicating whether a property can be set.

A property is writable if:

- the class has a setter method associated with the specified name
(in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when `$checkVars` is true);

@param string $name the property name
@param bool $checkVars whether to treat member variables as properties
@return bool whether the property can be written
@see canGetProperty()