Company

Crie uma variável que contenha as informações desta tabela:

Name Founded Industry kind
Amazon 1994 E-Commerce, Cloud Internet company
Alphabet Inc. 2015 Search, Cloud, Advertising Internet company
Facebook 2004 Social Internet company

Uma das formas de estruturação desta tabela pode ser por meio da classe do diagrama a seguir:

Company

Portanto, crie a classe Company conforme o diagrama a seguir:

Company

Contudo, o resultado do método __toString() deve ser o nome (sempre com tamanho de 15) e ano de fundação da empresa:

Amazon.........1994

Crie também a classe Companies para agrupar uma coleção de Company:

Company

no método __toString() da classe Companies o resultado final deve ser:

Alphabet Inc...2015
Amazon.........1994
Facebook.......2004

Para auxiliar todos os teste veja o arquivo core/object/company/code/print/companies.print.php:

<?php
require __DIR__ . '/../src/companies.php';

$amazon = new Company('Amazon', 1994, 'E-Commerce, Cloud', 'Internet company');
$alphabet = new Company('Alphabet Inc.', 2015, 'Search, Cloud, Advertising', 'Internet company');
$facebook = new Company('Facebook', 2004, 'Social', 'Internet company');

$companies = new Companies();
$companies->add($amazon);
$companies->add($alphabet);
$companies->add($facebook);

var_dump((string)$amazon);
var_dump('Amazon.........1994');

var_dump($companies->foundedAfter(2000));
$expected = "Alphabet Inc...2015
Amazon.........1994
Facebook.......2004";
var_dump($expected);

var_dump($companies->foundedBefore(2000));
var_dump([$alphabet, $facebook]);

var_dump((string)$companies);
var_dump([$amazon]);

Resposta: company.php e companies.php