Lightweight dataset class for phpunit, supports XML, CSV and array datasets.
More...
|
| from_array (array $structure) |
| Load information from a PHP array to the dataset.
|
|
| from_file (string $fullpath, ?string $table=null) |
| Load information from one file (XML, CSV) to the dataset.
|
|
| from_files (array $fullpaths) |
| Load information from multiple files (XML, CSV) to the dataset.
|
|
| from_string (string $content, string $type, ?string $table=null) |
| Load information from a string (XML, CSV) to the dataset.
|
|
| get_rows (array $filter=[]) |
| Returns the rows, for a given table, that the dataset holds.
|
|
| to_database (array $filter=[]) |
| Send all the information to the dataset to the database.
|
|
|
| load_csv (string $content, string $tablename) |
| Given a CSV content, process and load it as a table into the dataset.
|
|
| load_xml (string $content) |
| Given a XML content, process and load it as tables into the dataset.
|
|
|
array | $columns = [] |
| columns belonging to every table (keys) handled by the dataset
|
|
array | $rows = [] |
| rows belonging to every table (keys) handled by the dataset
|
|
array | $tables = [] |
| tables being handled by the dataset
|
|
Lightweight dataset class for phpunit, supports XML, CSV and array datasets.
This is a simple replacement class for the old old phpunit/dbunit, now archived. It allows to load CSV, XML and array structures to database.
◆ from_array()
phpunit_dataset::from_array |
( |
array | $structure | ) |
|
Load information from a PHP array to the dataset.
The general structure of the PHP array must be [table name] => [array of rows, each one being an array of values or column => values. The format of the array must be one of the following:
- non-associative array, with column names in the first row (pretty much like CSV files are): $structure = [ 'table 1' => [ ['column name 1', 'column name 2'], ['row 1 column 1 value', 'row 1 column 2 value'*, ['row 2 column 1 value', 'row 2 column 2 value'*, ], 'table 2' => ... ];
- associative array, with column names being keys in the array. $structure = [ 'table 1' => [ ['column name 1' => 'row 1 column 1 value', 'column name 2' => 'row 1 column 2 value'], ['column name 1' => 'row 2 column 1 value', 'column name 2' => 'row 2 column 2 value'], ], 'table 2' => ... ];
- Parameters
-
array | $structure | php array with a valid structure to be loaded to the dataset. |
◆ from_file()
phpunit_dataset::from_file |
( |
string | $fullpath, |
|
|
?string | $table = null ) |
Load information from one file (XML, CSV) to the dataset.
- Parameters
-
string | $fullpath | full path to CSV or XML file to load. |
string | null | $table | name of the table which the file belongs to (only for CSV files). |
◆ from_files()
phpunit_dataset::from_files |
( |
array | $fullpaths | ) |
|
Load information from multiple files (XML, CSV) to the dataset.
This method accepts an array of full paths to CSV or XML files to be loaded into the dataset. For CSV files, the name of the table which the file belongs to needs to be specified. Example:
$fullpaths = [ '/path/to/users.xml', 'course' => '/path/to/courses.csv', ];
- Parameters
-
array | $fullpaths | full paths to CSV or XML files to load. |
◆ from_string()
phpunit_dataset::from_string |
( |
string | $content, |
|
|
string | $type, |
|
|
?string | $table = null ) |
Load information from a string (XML, CSV) to the dataset.
- Parameters
-
string | $content | contents (CSV or XML) to load. |
string | $type | format of the content to be loaded (csv or xml). |
string | null | $table | name of the table which the file belongs to (only for CSV files). |
◆ get_rows()
phpunit_dataset::get_rows |
( |
array | $filter = [] | ) |
|
Returns the rows, for a given table, that the dataset holds.
- Parameters
-
string[] | $filter | Tables to return rows. If not specified, all tables are processed. |
- Return values
-
array | tables as keys with rows on each as sub array. |
◆ load_csv()
phpunit_dataset::load_csv |
( |
string | $content, |
|
|
string | $tablename ) |
|
protected |
Given a CSV content, process and load it as a table into the dataset.
- Parameters
-
string | $content | CSV content to be loaded (only one table). |
string | $tablename | Name of the table the content belongs to. |
◆ load_xml()
phpunit_dataset::load_xml |
( |
string | $content | ) |
|
|
protected |
Given a XML content, process and load it as tables into the dataset.
- Parameters
-
string | $content | XML content to be loaded (can be multi-table). |
◆ to_database()
phpunit_dataset::to_database |
( |
array | $filter = [] | ) |
|
Send all the information to the dataset to the database.
This method gets all the information loaded in the dataset, using the from_xxx() methods and sends it to the database; table and column names must match.
Note that, if the information to be sent to database contains sequence columns (usually 'id') then those values will be preserved (performing an import and adjusting sequences later). Else normal inserts will happen and sequence (auto-increment) columns will be fed automatically.
- Parameters
-
string[] | $filter | Tables to be sent to database. If not specified, all tables are processed. |
The documentation for this class was generated from the following file: