Meetodi väljakutse kohe pärast objekti loomist OOP-s PHP-s

Olgu meil klass Arr, mis salvestab endas numbrite massiivi ja suudab arvutada nende numbrite summat meetodi getSum abil. Numbrid ise tulevad massiivina objekti konstruktorisse ja neid saab lisada ükshaaval meetodi add abil:

php<?php
  class Arr
  {
    private $numbers = [];
    
    public function __construct($numbers)
    {
      $this->numbers = $numbers;
    }
    
    public function add($number)
    {
      $this->numbers[] = $number;
    }
    
    public function getSum()
    {
      return array_sum($this->numbers);
    }
  }
?>

Siin on näide klassi Arr kasutamisest:

php<?php
  $arr = new Arr([1, 2, 3]);
  
  $arr->add(4);
  $arr->add(5);
  
  echo $arr->getSum(); // väljastab 15
?>

Võib juhtuda, et kõik vajalikud numbrid antakse edasi objekti loomise hetkel ja seejärel tahetakse kohe leida nende summa:

php<?php
  $arr = new Arr([1, 2, 3]);
  echo $arr->getSum(); // väljastab 6
?>

Kui me ei kavatse enam objektil mingite manipulatsioone teha, siis võib ülaltoodud koodi kirjutada lühemalt: saab luua objekti ja kohe kutsuda selle meetodit getSum:

php<?php
  echo (new Arr([1, 2, 3]))->getSum(); // väljastab 6
?>
Задание 1
php<?php
  class StringProcessor
  {
    private $str = '';
    
    public function __construct($text)
    {
      $this->str = $text;
    }
    
    public function append($text)
    {
      $this->str .= $text;
      return $this;
    }
    
    public function getValue()
    {
      return $this->str;
    }
    
    public function getLength()
    {
      return strlen($this->str);
    }
  }
?>

Oletame, et selle klassiga töötati järgmiselt:

php<?php
  $str = new Str('aaa');
  $str->append('bbb');
  $str->append('ccc');
  
  echo $str->getLength();
?>

Kirjutage see kood ümber klassi väljakutsega kohapeal.