From 387a0f5761baf17f237287fc100b17db7e79f269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Bl=C3=A4ul?= Date: Fri, 2 Feb 2018 13:04:39 +0100 Subject: [PATCH] Renamed class to follow the PHP community guidelines such as: - https://svn.apache.org/repos/asf/shindig/attic/php/docs/style-guide.html: "Acryonyms are treated as normal words." - https://softwareengineering.stackexchange.com/a/149321/80632 Overview of class naming conventions of PHP frameworks - https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md No .lib allowed: "The class name corresponds to a file name ending in .php" See issue #50 --- parsecsv.lib.php => ParseCsvForPhp.php | 16 ++++++++-------- README.md | 18 +++++++++--------- examples/basic.php | 4 ++-- examples/conditions.php | 4 ++-- examples/download.php | 6 +++--- examples/limit.php | 4 ++-- tests/Bootstrap.php | 2 +- tests/methods/ConstructTest.php | 21 +++++---------------- tests/methods/ParseTest.php | 6 +++--- tests/methods/SaveTest.php | 4 ++-- tests/properties/BaseClass.php | 4 ++-- tests/properties/default_values_test.php | 4 ++-- tests/properties/worthless_test.php | 11 ++++++----- 13 files changed, 47 insertions(+), 57 deletions(-) rename parsecsv.lib.php => ParseCsvForPhp.php (99%) diff --git a/parsecsv.lib.php b/ParseCsvForPhp.php similarity index 99% rename from parsecsv.lib.php rename to ParseCsvForPhp.php index 4ea9e08..2250059 100644 --- a/parsecsv.lib.php +++ b/ParseCsvForPhp.php @@ -1,9 +1,9 @@ data); ---------------- # tab delimited, and encoding conversion - $csv = new parseCSV(); + $csv = new ParseCsvForPhp(); $csv->encoding('UTF-16', 'UTF-8'); $csv->delimiter = "\t"; $csv->parse('data.tsv'); print_r($csv->data); ---------------- # auto-detect delimiter character - $csv = new parseCSV(); + $csv = new ParseCsvForPhp(); $csv->auto('data.csv'); print_r($csv->data); ---------------- # modify data in a csv file - $csv = new parseCSV(); + $csv = new ParseCsvForPhp(); $csv->sort_by = 'id'; $csv->parse('data.csv'); # "4" is the value of the "id" column of the CSV row @@ -64,12 +64,12 @@ class parseCSV { ---------------- # add row/entry to end of CSV file # - only recommended when you know the exact structure of the file - $csv = new parseCSV(); + $csv = new ParseCsvForPhp(); $csv->save('data.csv', array(array('1986', 'Home', 'Nowhere', '')), true); ---------------- # convert 2D array to csv data and send headers # to browser to treat output as a file and download it - $csv = new parseCSV(); + $csv = new ParseCsvForPhp(); $csv->output('movies.csv', $array, array('field 1', 'field 2'), ','); ---------------- */ diff --git a/README.md b/README.md index b4bde72..73b4cea 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ Installation is easy using Composer. Include the following in your composer.json "parsecsv/php-parsecsv": "0.4.5" ``` -You may also manually include the parsecsv.lib.php file +You may also manually include the ParseCsvForPhp.php file ```php -require_once 'parsecsv.lib.php'; +require_once 'ParseCsvForPhp.php'; ``` ## Features @@ -46,14 +46,14 @@ require_once 'parsecsv.lib.php'; **General** ```php -$csv = new parseCSV('data.csv'); +$csv = new ParseCsvForPhp('data.csv'); print_r($csv->data); ``` **Tab delimited, and encoding conversion** ```php -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); $csv->encoding('UTF-16', 'UTF-8'); $csv->delimiter = "\t"; $csv->parse('data.tsv'); @@ -63,7 +63,7 @@ print_r($csv->data); **Auto-detect delimiter character** ```php -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); $csv->auto('data.csv'); print_r($csv->data); ``` @@ -71,7 +71,7 @@ print_r($csv->data); **Modify data in a CSV file** ```php -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); $csv->sort_by = 'id'; $csv->parse('data.csv'); # "4" is the value of the "id" column of the CSV row @@ -82,7 +82,7 @@ $csv->save(); **Replace field names or set ones if missing** ```php -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); $csv->fields = ['id', 'name', 'category'] $csv->parse('data.csv'); ``` @@ -92,7 +92,7 @@ $csv->parse('data.csv'); _Only recommended when you know the exact structure of the file._ ```php -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); $csv->save('data.csv', array(array('1986', 'Home', 'Nowhere', '')), true); ``` @@ -100,7 +100,7 @@ $csv->save('data.csv', array(array('1986', 'Home', 'Nowhere', '')), true); a file and download it** ```php -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); $csv->output('movies.csv', $array, array('field 1', 'field 2'), ','); ``` diff --git a/examples/basic.php b/examples/basic.php index 5744525..8e48d45 100644 --- a/examples/basic.php +++ b/examples/basic.php @@ -3,11 +3,11 @@ # include parseCSV class. -require_once('../parsecsv.lib.php'); +require_once('../ParseCsvForPhp.php'); # create new parseCSV object. -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); # Parse '_books.csv' using automatic delimiter detection... diff --git a/examples/conditions.php b/examples/conditions.php index c778b1d..0619fd8 100644 --- a/examples/conditions.php +++ b/examples/conditions.php @@ -3,11 +3,11 @@ # include parseCSV class. -require_once('../parsecsv.lib.php'); +require_once('../ParseCsvForPhp.php'); # create new parseCSV object. -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); # Example conditions: diff --git a/examples/download.php b/examples/download.php index bc4177f..cc52841 100644 --- a/examples/download.php +++ b/examples/download.php @@ -2,11 +2,11 @@ # include parseCSV class. -require_once('../parsecsv.lib.php'); +require_once('../ParseCsvForPhp.php'); # create new parseCSV object. -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); # Parse '_books.csv' using automatic delimiter detection... @@ -31,4 +31,4 @@ $csv->output('books.csv'); # or is set to null, output will only return the generated CSV # output data, and will not output to the browser itself. -?> \ No newline at end of file +?> diff --git a/examples/limit.php b/examples/limit.php index a018f59..028ac6b 100644 --- a/examples/limit.php +++ b/examples/limit.php @@ -3,11 +3,11 @@ # include parseCSV class. -require_once('../parsecsv.lib.php'); +require_once('../ParseCsvForPhp.php'); # create new parseCSV object. -$csv = new parseCSV(); +$csv = new ParseCsvForPhp(); # if sorting is enabled, the whole CSV file diff --git a/tests/Bootstrap.php b/tests/Bootstrap.php index f87a6a3..536e43a 100644 --- a/tests/Bootstrap.php +++ b/tests/Bootstrap.php @@ -3,7 +3,7 @@ $dir = realpath(__DIR__); defined('BASE') OR define('BASE', dirname($dir) . '/'); -require_once BASE . 'parsecsv.lib.php'; +require_once BASE . 'ParseCsvForPhp.php'; if (!class_exists('PHPUnit\Framework\TestCase')) { // we run on an older PHPUnit version without namespaces. diff --git a/tests/methods/ConstructTest.php b/tests/methods/ConstructTest.php index 0a3c310..4f9dd87 100644 --- a/tests/methods/ConstructTest.php +++ b/tests/methods/ConstructTest.php @@ -11,17 +11,6 @@ class ConstructTest extends PHPUnit\Framework\TestCase { */ protected $csv = null; - /** - * Setup - * Setup our test environment objects - * - * @access public - */ - public function setUp() { - //setup parse CSV - #$this->csv = new parseCSV(); - } - /** * Tear down * Tear down our test environment objects @@ -34,35 +23,35 @@ class ConstructTest extends PHPUnit\Framework\TestCase { public function test_offset_param() { $offset = 10; - $this->csv = new parseCSV(null, $offset); + $this->csv = new ParseCsvForPhp(null, $offset); $this->assertTrue(is_numeric($this->csv->offset)); $this->assertEquals($offset, $this->csv->offset); } public function test_limit_param() { $limit = 10; - $this->csv = new parseCSV(null, null, $limit); + $this->csv = new ParseCsvForPhp(null, null, $limit); $this->assertTrue(is_numeric($this->csv->limit)); $this->assertEquals($limit, $this->csv->limit); } public function test_conditions_param() { $conditions = 'some column NOT value'; - $this->csv = new parseCSV(null, null, null, $conditions); + $this->csv = new ParseCsvForPhp(null, null, null, $conditions); $this->assertTrue(is_string($this->csv->conditions)); $this->assertEquals($conditions, $this->csv->conditions); } public function test_keep_file_data_param() { $keep = true; - $this->csv = new parseCSV(null, null, null, null, $keep); + $this->csv = new ParseCsvForPhp(null, null, null, null, $keep); $this->assertTrue(is_bool($this->csv->keep_file_data)); $this->assertEquals($keep, $this->csv->keep_file_data); } public function test_input_param() { $csv = "col1,col2,col3\r\nval1,val2,val3\r\nval1A,val2A,val3A\r\n"; - $this->csv = new parseCSV($csv, null, null, null, true); + $this->csv = new ParseCsvForPhp($csv, null, null, null, true); $this->assertTrue(is_string($this->csv->file_data)); $this->assertEquals($csv, $this->csv->file_data); } diff --git a/tests/methods/ParseTest.php b/tests/methods/ParseTest.php index b6c4036..b097b34 100644 --- a/tests/methods/ParseTest.php +++ b/tests/methods/ParseTest.php @@ -7,7 +7,7 @@ class ParseTest extends PHPUnit\Framework\TestCase { * The parseCSV object * * @access protected - * @var parseCSV + * @var ParseCsvForPhp */ protected $csv; @@ -18,7 +18,7 @@ class ParseTest extends PHPUnit\Framework\TestCase { * @access public */ public function setUp() { - $this->csv = new parseCSV(); + $this->csv = new ParseCsvForPhp(); } public function test_parse() { @@ -164,7 +164,7 @@ class ParseTest extends PHPUnit\Framework\TestCase { * @param string $enclosure */ public function testAutoQuotes($file, $enclosure) { - $csv = new parseCSV(); + $csv = new ParseCsvForPhp(); $csv->auto(__DIR__ . '/../example_files/' . $file, true, null, null, $enclosure); $this->assertArrayHasKey('column1', $csv->data[0], 'Data parsed incorrectly with enclosure ' . $enclosure); $this->assertEquals('value1', $csv->data[0]['column1'], 'Data parsed incorrectly with enclosure ' . $enclosure); diff --git a/tests/methods/SaveTest.php b/tests/methods/SaveTest.php index de66395..04a1f3b 100644 --- a/tests/methods/SaveTest.php +++ b/tests/methods/SaveTest.php @@ -2,7 +2,7 @@ class SaveTest extends PHPUnit\Framework\TestCase { - /** @var parseCSV */ + /** @var ParseCsvForPhp */ private $csv; private $temp_filename; @@ -11,7 +11,7 @@ class SaveTest extends PHPUnit\Framework\TestCase { * Setup our test environment objects; will be called before each test. */ public function setUp() { - $this->csv = new parseCSV(); + $this->csv = new ParseCsvForPhp(); $this->csv->auto(__DIR__ . '/../example_files/single_column.csv'); // Remove last 2 lines to simplify comparison diff --git a/tests/properties/BaseClass.php b/tests/properties/BaseClass.php index 4d9c420..3515c10 100644 --- a/tests/properties/BaseClass.php +++ b/tests/properties/BaseClass.php @@ -7,7 +7,7 @@ class BaseClass extends PHPUnit\Framework\TestCase { * The parseCSV object * * @access protected - * @var parseCSV + * @var ParseCsvForPhp */ protected $csv; @@ -18,7 +18,7 @@ class BaseClass extends PHPUnit\Framework\TestCase { * @access public */ public function setUp() { - $this->csv = new parseCSV(); + $this->csv = new ParseCsvForPhp(); } protected function _compareWithExpected($expected) { diff --git a/tests/properties/default_values_test.php b/tests/properties/default_values_test.php index 2117094..cc412a9 100644 --- a/tests/properties/default_values_test.php +++ b/tests/properties/default_values_test.php @@ -7,7 +7,7 @@ class default_values_properties_Test extends PHPUnit\Framework\TestCase { * The parseCSV object * * @access protected - * @var [parseCSV] + * @var ParseCsvForPhp */ protected $csv = null; @@ -19,7 +19,7 @@ class default_values_properties_Test extends PHPUnit\Framework\TestCase { */ public function setUp() { //setup parse CSV - $this->csv = new parseCSV(); + $this->csv = new ParseCsvForPhp(); } /** diff --git a/tests/properties/worthless_test.php b/tests/properties/worthless_test.php index 411e91d..5adb020 100644 --- a/tests/properties/worthless_test.php +++ b/tests/properties/worthless_test.php @@ -7,7 +7,7 @@ class worthless_properties_Test extends PHPUnit\Framework\TestCase { * The parseCSV object * * @access protected - * @var [parseCSV] + * @var ParseCsvForPhp */ protected $csv = null; @@ -16,7 +16,7 @@ class worthless_properties_Test extends PHPUnit\Framework\TestCase { * The reflection class object * * @access protected - * @var [ReflectionClass] + * @var ReflectionClass */ protected $reflection = null; @@ -25,6 +25,7 @@ class worthless_properties_Test extends PHPUnit\Framework\TestCase { * The reflected class properties * * @access protected + * @var ReflectionProperty[] */ protected $properties = null; @@ -36,7 +37,7 @@ class worthless_properties_Test extends PHPUnit\Framework\TestCase { */ public function setUp() { //setup parse CSV - $this->csv = new parseCSV(); + $this->csv = new ParseCsvForPhp(); //setup the reflection class $this->reflection = new ReflectionClass($this->csv); @@ -107,7 +108,7 @@ class worthless_properties_Test extends PHPUnit\Framework\TestCase { 'error', 'error_info', 'titles', - 'data' + 'data', ); // Find our real properties @@ -129,7 +130,7 @@ class worthless_properties_Test extends PHPUnit\Framework\TestCase { public function test_count_public_properties() { $counter = 0; - for ($a = 0; $a < count($this->properties); $a++) { + for ($a = count($this->properties) - 1; $a >= 0; $a--) { if ($this->properties[$a]->isPublic() === true) { $counter++; }