$Csv = new \projectivemotion\Csv\Csv(); $Csv->setString($data); $CsvObjects = $Csv->AsObjects(); assert($CsvObjects[0]->ColumnOne === '1'); assert($CsvObjects[1]->ColumnOne === '4'); assert($CsvObjects[1]->{'Column Two'} === '5'); $ArrayObjects = $Csv->AsObjects('ArrayObject', ArrayObject::ARRAY_AS_PROPS); //var_dump($ArrayObjects); assert($ArrayObjects[1]->{'Column Two'} == '5'); assert($ArrayObjects[0]['Column Two'] == '2'); foreach ($Csv->generateObjects() as $obj) { assert(isset($obj->ColumnOne)); assert(isset($obj->{'Column Two'})); assert(isset($obj->Header_Three)); } $users = \projectivemotion\Csv\Csv::StringToObjects(<<<ND Username,Password amado,abc123 ND ); assert($users[0]->Username == 'amado'); assert($users[0]->Password == 'abc123'); $categories = \projectivemotion\Csv\Csv::StringToObjects(<<<Cats ID\tCategory 1\tLanguages 2\tPackages 3\tConcepts Cats , [], ["\n", "\t"]); assert($categories[1]->Category == 'Packages'); echo "Passed all Tests.";
print_r(func_get_args()); exit(1); }); class User { protected $Password = ''; protected $Username = ''; public function __construct($data) { $this->Password = $data['Password']; $this->Username = $data['Username']; } public function CheckPassword($pass) { $check = password_verify($pass, $this->Password); if ($check) { echo "Password is {$pass}!\n"; } else { echo "Incorrect password!\n"; } return $check; } } /** @var User[] $users */ $users = \projectivemotion\Csv\Csv::StringToObjects(<<<'ND' Username,Password amado,$2y$10$EncFfzZYNSnswCKCNGmfTuICpGXaWthOd3BnZPYL.N8L0SH64VTF6 ND , ['User']); assert($users[0]->CheckPassword('safepassword') === false); assert($users[0]->CheckPassword('abc123') === true);