.. _cannot-use-the-final-modifier-on-an-abstract-class:
Cannot use the final modifier on an abstract class
--------------------------------------------------
.. meta::
:description:
Cannot use the final modifier on an abstract class: The options ``final`` and ``abstract`` are mutually exclusive.
:og:image: https://php-errors.readthedocs.io/en/latest/_static/logo.png
:og:type: article
:og:title: Cannot use the final modifier on an abstract class
:og:description: The options ``final`` and ``abstract`` are mutually exclusive
:og:url: https://php-errors.readthedocs.io/en/latest/messages/cannot-use-the-final-modifier-on-an-abstract-class.html
:og:locale: en
:twitter:card: summary_large_image
:twitter:site: @exakat
:twitter:title: Cannot use the final modifier on an abstract class
:twitter:description: Cannot use the final modifier on an abstract class: The options ``final`` and ``abstract`` are mutually exclusive
:twitter:creator: @exakat
:twitter:image:src: https://php-errors.readthedocs.io/en/latest/_static/logo.png
.. raw:: html
Description
___________
The options ``final`` and ``abstract`` are mutually exclusive. The first one prevents any redefinition by children, while the second one requests an implementation, and as such, a redefinition, in children classes.
It is the same message, whatever the order of the options.
Example
_______
.. code-block:: php
Solutions
_________
+ Drop the ``abstract`` option.
+ Drop the ``final`` option.
+ Drop both the options.
Changed Behavior
________________
This error may appear following an evolution in behavior, in previous versions. See ` `_.