What role does an ORM (Object-Relational Mapping) play in simplifying class extension in PHP?

When extending classes in PHP, developers often need to manually map object properties to database columns, which can be time-consuming and error-prone. Using an ORM like Doctrine can simplify this process by automatically mapping object properties to database tables, allowing for easier class extension without the need for manual mapping.

// Example using Doctrine ORM to simplify class extension
// Define a base entity class
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="base_entity")
 */
class BaseEntity
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    protected $id;

    // Other common properties and methods
}

// Define a child entity class extending the base entity
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="child_entity")
 */
class ChildEntity extends BaseEntity
{
    /**
     * @ORM\Column(type="string")
     */
    protected $name;

    // Additional properties and methods specific to ChildEntity
}