src/Object/Object.php
public function isWritableProperty($name, $checkVars = true)
    {
        return method_exists($this, 'set' . $name) || ($checkVars && property_exists($this, $name));
    }
public function isWritableProperty($name, $checkVars = true)
    {
        return method_exists($this, 'set' . $name) || ($checkVars && property_exists($this, $name));
    }
Returns a value indicating whether a property is writable.
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 boolean $checkVars whether to treat member variables as properties
@return boolean whether the property can be written
@see isReadableProperty()