View on GitHub

RefactoringPHP

A PHP version of the refactors from Refactoring: Improving the Design of Existing Code (Second Edition) by Martin Fowler

Inline Class (186)

Inverse of Extract Class (182)

Old Code

<?php
class Person
{
    public function getOfficeAreaCode()
    {
        return $this->telephoneNumber->officeAreaCode;
    }
    
    public function getOfficeNumber()
    {
        return $this->telephoneNumber->officeNumber;
    }
}
class TelephoneNumber
{
    public function getAreaCode()
    {
        return $this->areaCode;
    }
    
    public function getNumber()
    {
        return $this->number;
    }
}

New Code

<?php
class Person
{
    public function getOfficeAreaCode()
    {
        return $this->officeAreaCode;
    }
    
    public function getOfficeNumber()
    {
        return $this->officeNumber;
    }
}