Memanggil Kaedah Sejurus Selepas Mencipta Objek dalam OOP dalam PHP

Katakan kita mempunyai kelas Arr yang menyimpan array nombor dan boleh mengira jumlah nombor ini menggunakan kaedah getSum. Nombor-nombor itu sendiri diterima dalam bentuk array dalam pembina objek, dan juga boleh ditambah satu persatu dengan menggunakan kaedah add:

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);
    }
  }
?>

Berikut ialah contoh penggunaan kelas Arr:

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

Mungkin berlaku bahawa semua nombor yang kita perlukan kita hantar pada saat penciptaan objek, dan kemudian serta-merta mahu mencari jumlahnya:

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

Jika kita tidak merancang untuk melakukan sebarang manipulasi lain dengan objek, maka kod di atas boleh ditulis semula dengan lebih pendek: kita boleh mencipta objek dan serta-merta memanggil kaedahnya getSum:

php<?php
  echo (new Arr([1, 2, 3]))->getSum(); // akan memaparkan 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);
    }
  }
?>

Katakan kelas ini digunakan seperti berikut:

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

Tulis semula kod ini melalui panggilan kelas pada tempatnya.