How can object-oriented programming principles be applied to refactor lengthy functions with multiple repeated text passages in PHP?

When refactoring lengthy functions with multiple repeated text passages in PHP, you can apply object-oriented programming principles by creating a class to encapsulate the repeated logic and functionality. This class can then be instantiated and used within the original function to reduce code duplication and improve readability.

<?php

class TextFormatter {
    private $text;

    public function __construct($text) {
        $this->text = $text;
    }

    public function formatText() {
        // Add your text formatting logic here
        return strtoupper($this->text);
    }
}

function lengthyFunction($input) {
    $formatter = new TextFormatter($input);

    // Repeated text passage 1
    $formattedText1 = $formatter->formatText();

    // Repeated text passage 2
    $formattedText2 = $formatter->formatText();

    // Original function logic
    // ...

    return $formattedText1 . $formattedText2;
}

// Usage
$input = "example text";
$result = lengthyFunction($input);
echo $result;

?>