Overriding a protected method with a public method in a child class makes this method accessible from everywhere. This violates the encapsulation principle and is considered bad practice.
protected
public
See Method Visibility (php.net) for details.