Passed
Push — master ( 22e18b...1f3053 )
by Sebastian
02:18
created
src/URLInfo.php 1 patch
Indentation   +158 added lines, -158 removed lines patch added patch discarded remove patch
@@ -36,40 +36,40 @@  discard block
 block discarded – undo
36 36
     const TYPE_PHONE = 'phone';
37 37
     const TYPE_URL = 'url';
38 38
     
39
-   /**
40
-    * The original URL that was passed to the constructor.
41
-    * @var string
42
-    */
39
+    /**
40
+     * The original URL that was passed to the constructor.
41
+     * @var string
42
+     */
43 43
     protected $rawURL;
44 44
 
45
-   /**
46
-    * @var array
47
-    */
45
+    /**
46
+     * @var array
47
+     */
48 48
     protected $info;
49 49
     
50
-   /**
51
-    * @var bool
52
-    */
50
+    /**
51
+     * @var bool
52
+     */
53 53
     protected $isEmail = false;
54 54
     
55
-   /**
56
-    * @var bool
57
-    */
55
+    /**
56
+     * @var bool
57
+     */
58 58
     protected $isFragment = false;
59 59
     
60
-   /**
61
-    * @var bool
62
-    */
60
+    /**
61
+     * @var bool
62
+     */
63 63
     protected $isValid = true;
64 64
     
65
-   /**
66
-    * @var bool
67
-    */
65
+    /**
66
+     * @var bool
67
+     */
68 68
     protected $isPhone = false;
69 69
     
70
-   /**
71
-    * @var array
72
-    */
70
+    /**
71
+     * @var array
72
+     */
73 73
     protected $knownSchemes = array(
74 74
         'ftp',
75 75
         'http',
@@ -80,41 +80,41 @@  discard block
 block discarded – undo
80 80
         'file'
81 81
     );
82 82
 
83
-   /**
84
-    * @var array
85
-    */
83
+    /**
84
+     * @var array
85
+     */
86 86
     protected $error;
87 87
     
88
-   /**
89
-    * @var array
90
-    */
88
+    /**
89
+     * @var array
90
+     */
91 91
     protected $params = array();
92 92
     
93
-   /**
94
-    * @var string[]
95
-    */
93
+    /**
94
+     * @var string[]
95
+     */
96 96
     protected $excludedParams = array();
97 97
     
98
-   /**
99
-    * @var bool
100
-    * @see URLInfo::setParamExclusion()
101
-    */
98
+    /**
99
+     * @var bool
100
+     * @see URLInfo::setParamExclusion()
101
+     */
102 102
     protected $paramExclusion = false;
103 103
     
104
-   /**
105
-    * @var array
106
-    * @see URLInfo::getTypeLabel()
107
-    */
104
+    /**
105
+     * @var array
106
+     * @see URLInfo::getTypeLabel()
107
+     */
108 108
     protected static $typeLabels;
109 109
     
110
-   /**
111
-    * @var bool
112
-    */
110
+    /**
111
+     * @var bool
112
+     */
113 113
     protected $highlightExcluded = false;
114 114
     
115
-   /**
116
-    * @var array
117
-    */
115
+    /**
116
+     * @var array
117
+     */
118 118
     protected $infoKeys = array(
119 119
         'scheme',
120 120
         'host',
@@ -126,9 +126,9 @@  discard block
 block discarded – undo
126 126
         'fragment'
127 127
     );
128 128
     
129
-   /**
130
-    * @var string
131
-    */
129
+    /**
130
+     * @var string
131
+     */
132 132
     protected $url;
133 133
     
134 134
     public function __construct(string $url)
@@ -214,13 +214,13 @@  discard block
 block discarded – undo
214 214
         $this->isValid = true;
215 215
     }
216 216
     
217
-   /**
218
-    * Filters an URL: removes control characters and the
219
-    * like to have a clean URL to work with.
220
-    * 
221
-    * @param string $url
222
-    * @return string
223
-    */
217
+    /**
218
+     * Filters an URL: removes control characters and the
219
+     * like to have a clean URL to work with.
220
+     * 
221
+     * @param string $url
222
+     * @return string
223
+     */
224 224
     public static function filterURL(string $url)
225 225
     {
226 226
         // fix ampersands if it comes from HTML
@@ -243,11 +243,11 @@  discard block
 block discarded – undo
243 243
         return $url;
244 244
     }
245 245
     
246
-   /**
247
-    * Goes through all information in the parse_url result
248
-    * array, and attempts to fix any user errors in formatting
249
-    * that can be recovered from, mostly regarding stray spaces.
250
-    */
246
+    /**
247
+     * Goes through all information in the parse_url result
248
+     * array, and attempts to fix any user errors in formatting
249
+     * that can be recovered from, mostly regarding stray spaces.
250
+     */
251 251
     protected function filterParsed()
252 252
     {
253 253
         foreach($this->info as $key => $val)
@@ -331,12 +331,12 @@  discard block
 block discarded – undo
331 331
         return $this->isPhone;
332 332
     }
333 333
     
334
-   /**
335
-    * Whether the URL is a regular URL, not one of the 
336
-    * other types like a phone number or email address.
337
-    * 
338
-    * @return bool
339
-    */
334
+    /**
335
+     * Whether the URL is a regular URL, not one of the 
336
+     * other types like a phone number or email address.
337
+     * 
338
+     * @return bool
339
+     */
340 340
     public function isURL() : bool
341 341
     {
342 342
         $host = $this->getHost();
@@ -348,20 +348,20 @@  discard block
 block discarded – undo
348 348
         return $this->isValid;
349 349
     }
350 350
     
351
-   /**
352
-    * Retrieves the host name, or an empty string if none is present.
353
-    * 
354
-    * @return string
355
-    */
351
+    /**
352
+     * Retrieves the host name, or an empty string if none is present.
353
+     * 
354
+     * @return string
355
+     */
356 356
     public function getHost() : string
357 357
     {
358 358
         return $this->getInfoKey('host');
359 359
     }
360 360
     
361
-   /**
362
-    * Retrieves the path, or an empty string if none is present.
363
-    * @return string
364
-    */
361
+    /**
362
+     * Retrieves the path, or an empty string if none is present.
363
+     * @return string
364
+     */
365 365
     public function getPath() : string
366 366
     {
367 367
         return $this->getInfoKey('path');
@@ -377,10 +377,10 @@  discard block
 block discarded – undo
377 377
         return $this->getInfoKey('scheme');
378 378
     }
379 379
     
380
-   /**
381
-    * Retrieves the port specified in the URL, or -1 if none is preseent.
382
-    * @return int
383
-    */
380
+    /**
381
+     * Retrieves the port specified in the URL, or -1 if none is preseent.
382
+     * @return int
383
+     */
384 384
     public function getPort() : int
385 385
     {
386 386
         $port = $this->getInfoKey('port');
@@ -391,13 +391,13 @@  discard block
 block discarded – undo
391 391
         return -1;
392 392
     }
393 393
     
394
-   /**
395
-    * Retrieves the raw query string, or an empty string if none is present.
396
-    * 
397
-    * @return string
398
-    * 
399
-    * @see URLInfo::getParams()
400
-    */
394
+    /**
395
+     * Retrieves the raw query string, or an empty string if none is present.
396
+     * 
397
+     * @return string
398
+     * 
399
+     * @see URLInfo::getParams()
400
+     */
401 401
     public function getQuery() : string
402 402
     {
403 403
         return $this->getInfoKey('query');
@@ -413,20 +413,20 @@  discard block
 block discarded – undo
413 413
         return $this->getInfoKey('pass');
414 414
     }
415 415
     
416
-   /**
417
-    * Whether the URL contains a port number.
418
-    * @return bool
419
-    */
416
+    /**
417
+     * Whether the URL contains a port number.
418
+     * @return bool
419
+     */
420 420
     public function hasPort() : bool
421 421
     {
422 422
         return $this->getPort() !== -1;
423 423
     }
424 424
     
425
-   /**
426
-    * Alias for the hasParams() method.
427
-    * @return bool
428
-    * @see URLInfo::hasParams()
429
-    */
425
+    /**
426
+     * Alias for the hasParams() method.
427
+     * @return bool
428
+     * @see URLInfo::hasParams()
429
+     */
430 430
     public function hasQuery() : bool
431 431
     {
432 432
         return $this->hasParams();
@@ -507,25 +507,25 @@  discard block
 block discarded – undo
507 507
         return $normalized;
508 508
     }
509 509
     
510
-   /**
511
-    * Creates a hash of the URL, which can be used for comparisons.
512
-    * Since any parameters in the URL's query are sorted alphabetically,
513
-    * the same links with a different parameter order will have the 
514
-    * same hash.
515
-    * 
516
-    * @return string
517
-    */
510
+    /**
511
+     * Creates a hash of the URL, which can be used for comparisons.
512
+     * Since any parameters in the URL's query are sorted alphabetically,
513
+     * the same links with a different parameter order will have the 
514
+     * same hash.
515
+     * 
516
+     * @return string
517
+     */
518 518
     public function getHash()
519 519
     {
520 520
         return \AppUtils\ConvertHelper::string2shortHash($this->getNormalized());
521 521
     }
522 522
 
523
-   /**
524
-    * Highlights the URL using HTML tags with specific highlighting
525
-    * class names.
526
-    * 
527
-    * @return string Will return an empty string if the URL is not valid.
528
-    */
523
+    /**
524
+     * Highlights the URL using HTML tags with specific highlighting
525
+     * class names.
526
+     * 
527
+     * @return string Will return an empty string if the URL is not valid.
528
+     */
529 529
     public function getHighlighted() : string
530 530
     {
531 531
         if(!$this->isValid) {
@@ -709,15 +709,15 @@  discard block
 block discarded – undo
709 709
         return count($params);
710 710
     }
711 711
     
712
-   /**
713
-    * Retrieves all parameters specified in the url,
714
-    * if any, as an associative array. 
715
-    * 
716
-    * NOTE: Ignores parameters that have been added
717
-    * to the excluded parameters list.
718
-    *
719
-    * @return array
720
-    */
712
+    /**
713
+     * Retrieves all parameters specified in the url,
714
+     * if any, as an associative array. 
715
+     * 
716
+     * NOTE: Ignores parameters that have been added
717
+     * to the excluded parameters list.
718
+     *
719
+     * @return array
720
+     */
721 721
     public function getParams() : array
722 722
     {
723 723
         if(!$this->paramExclusion || empty($this->excludedParams)) {
@@ -734,26 +734,26 @@  discard block
 block discarded – undo
734 734
         return $keep;
735 735
     }
736 736
     
737
-   /**
738
-    * Retrieves the names of all parameters present in the URL, if any.
739
-    * @return string[]
740
-    */
737
+    /**
738
+     * Retrieves the names of all parameters present in the URL, if any.
739
+     * @return string[]
740
+     */
741 741
     public function getParamNames() : array
742 742
     {
743 743
         $params = $this->getParams();
744 744
         return array_keys($params);
745 745
     }
746 746
     
747
-   /**
748
-    * Excludes an URL parameter entirely if present:
749
-    * the parser will act as if the parameter was not
750
-    * even present in the source URL, effectively
751
-    * stripping it.
752
-    *
753
-    * @param string $name
754
-    * @param string $reason A human readable explanation why this is excluded - used when highlighting links.
755
-    * @return URLInfo
756
-    */
747
+    /**
748
+     * Excludes an URL parameter entirely if present:
749
+     * the parser will act as if the parameter was not
750
+     * even present in the source URL, effectively
751
+     * stripping it.
752
+     *
753
+     * @param string $name
754
+     * @param string $reason A human readable explanation why this is excluded - used when highlighting links.
755
+     * @return URLInfo
756
+     */
757 757
     public function excludeParam(string $name, string $reason) : URLInfo
758 758
     {
759 759
         if(!isset($this->excludedParams[$name]))
@@ -818,25 +818,25 @@  discard block
 block discarded – undo
818 818
         return self::$typeLabels[$this->getType()];
819 819
     }
820 820
 
821
-   /**
822
-    * Whether excluded parameters should be highlighted in
823
-    * a different color in the URL when using the
824
-    * {@link URLInfo::getHighlighted()} method.
825
-    *
826
-    * @param bool $highlight
827
-    * @return URLInfo
828
-    */
821
+    /**
822
+     * Whether excluded parameters should be highlighted in
823
+     * a different color in the URL when using the
824
+     * {@link URLInfo::getHighlighted()} method.
825
+     *
826
+     * @param bool $highlight
827
+     * @return URLInfo
828
+     */
829 829
     public function setHighlightExcluded(bool $highlight=true) : URLInfo
830 830
     {
831 831
         $this->highlightExcluded = $highlight;
832 832
         return $this;
833 833
     }
834 834
     
835
-   /**
836
-    * Returns an array with all relevant URL information.
837
-    * 
838
-    * @return array
839
-    */
835
+    /**
836
+     * Returns an array with all relevant URL information.
837
+     * 
838
+     * @return array
839
+     */
840 840
     public function toArray() : array
841 841
     {
842 842
         return array(
@@ -880,24 +880,24 @@  discard block
 block discarded – undo
880 880
         return $this;
881 881
     }
882 882
     
883
-   /**
884
-    * Whether the parameter exclusion mode is enabled:
885
-    * In this case, if any parameters have been added to the
886
-    * exclusion list, all relevant methods will exclude these.
887
-    *
888
-    * @return bool
889
-    */
883
+    /**
884
+     * Whether the parameter exclusion mode is enabled:
885
+     * In this case, if any parameters have been added to the
886
+     * exclusion list, all relevant methods will exclude these.
887
+     *
888
+     * @return bool
889
+     */
890 890
     public function isParamExclusionEnabled() : bool
891 891
     {
892 892
         return $this->paramExclusion;
893 893
     }
894 894
     
895
-   /**
896
-    * Checks whether the link contains any parameters that
897
-    * are on the list of excluded parameters.
898
-    *
899
-    * @return bool
900
-    */
895
+    /**
896
+     * Checks whether the link contains any parameters that
897
+     * are on the list of excluded parameters.
898
+     *
899
+     * @return bool
900
+     */
901 901
     public function containsExcludedParams() : bool
902 902
     {
903 903
         if(empty($this->excludedParams)) {
Please login to merge, or discard this patch.
src/FileHelper.php 1 patch
Indentation   +387 added lines, -387 removed lines patch added patch discarded remove patch
@@ -80,32 +80,32 @@  discard block
 block discarded – undo
80 80
     
81 81
     const ERROR_CANNOT_OPEN_FILE_TO_DETECT_BOM = 340032;
82 82
     
83
-   /**
84
-    * Opens a serialized file and returns the unserialized data.
85
-    * 
86
-    * @param string $file
87
-    * @throws FileHelper_Exception
88
-    * @return array
89
-    * @deprecated Use parseSerializedFile() instead.
90
-    * @see FileHelper::parseSerializedFile()
91
-    */
83
+    /**
84
+     * Opens a serialized file and returns the unserialized data.
85
+     * 
86
+     * @param string $file
87
+     * @throws FileHelper_Exception
88
+     * @return array
89
+     * @deprecated Use parseSerializedFile() instead.
90
+     * @see FileHelper::parseSerializedFile()
91
+     */
92 92
     public static function openUnserialized(string $file) : array
93 93
     {
94 94
         return self::parseSerializedFile($file);
95 95
     }
96 96
 
97
-   /**
98
-    * Opens a serialized file and returns the unserialized data.
99
-    *
100
-    * @param string $file
101
-    * @throws FileHelper_Exception
102
-    * @return array
103
-    * @see FileHelper::parseSerializedFile()
104
-    * 
105
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
106
-    * @see FileHelper::ERROR_SERIALIZED_FILE_CANNOT_BE_READ
107
-    * @see FileHelper::ERROR_SERIALIZED_FILE_UNSERIALZE_FAILED
108
-    */
97
+    /**
98
+     * Opens a serialized file and returns the unserialized data.
99
+     *
100
+     * @param string $file
101
+     * @throws FileHelper_Exception
102
+     * @return array
103
+     * @see FileHelper::parseSerializedFile()
104
+     * 
105
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
106
+     * @see FileHelper::ERROR_SERIALIZED_FILE_CANNOT_BE_READ
107
+     * @see FileHelper::ERROR_SERIALIZED_FILE_UNSERIALZE_FAILED
108
+     */
109 109
     public static function parseSerializedFile(string $file)
110 110
     {
111 111
         self::requireFileExists($file);
@@ -174,13 +174,13 @@  discard block
 block discarded – undo
174 174
         return rmdir($rootFolder);
175 175
     }
176 176
     
177
-   /**
178
-    * Create a folder, if it does not exist yet.
179
-    *  
180
-    * @param string $path
181
-    * @throws FileHelper_Exception
182
-    * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
183
-    */
177
+    /**
178
+     * Create a folder, if it does not exist yet.
179
+     *  
180
+     * @param string $path
181
+     * @throws FileHelper_Exception
182
+     * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
183
+     */
184 184
     public static function createFolder($path)
185 185
     {
186 186
         if(is_dir($path) || mkdir($path, 0777, true)) {
@@ -227,22 +227,22 @@  discard block
 block discarded – undo
227 227
         }
228 228
     }
229 229
     
230
-   /**
231
-    * Copies a file to the target location. Includes checks
232
-    * for most error sources, like the source file not being
233
-    * readable. Automatically creates the target folder if it
234
-    * does not exist yet.
235
-    * 
236
-    * @param string $sourcePath
237
-    * @param string $targetPath
238
-    * @throws FileHelper_Exception
239
-    * 
240
-    * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
241
-    * @see FileHelper::ERROR_SOURCE_FILE_NOT_FOUND
242
-    * @see FileHelper::ERROR_SOURCE_FILE_NOT_READABLE
243
-    * @see FileHelper::ERROR_TARGET_COPY_FOLDER_NOT_WRITABLE
244
-    * @see FileHelper::ERROR_CANNOT_COPY_FILE
245
-    */
230
+    /**
231
+     * Copies a file to the target location. Includes checks
232
+     * for most error sources, like the source file not being
233
+     * readable. Automatically creates the target folder if it
234
+     * does not exist yet.
235
+     * 
236
+     * @param string $sourcePath
237
+     * @param string $targetPath
238
+     * @throws FileHelper_Exception
239
+     * 
240
+     * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
241
+     * @see FileHelper::ERROR_SOURCE_FILE_NOT_FOUND
242
+     * @see FileHelper::ERROR_SOURCE_FILE_NOT_READABLE
243
+     * @see FileHelper::ERROR_TARGET_COPY_FOLDER_NOT_WRITABLE
244
+     * @see FileHelper::ERROR_CANNOT_COPY_FILE
245
+     */
246 246
     public static function copyFile($sourcePath, $targetPath)
247 247
     {
248 248
         self::requireFileExists($sourcePath, self::ERROR_SOURCE_FILE_NOT_FOUND);
@@ -293,15 +293,15 @@  discard block
 block discarded – undo
293 293
         );
294 294
     }
295 295
     
296
-   /**
297
-    * Deletes the target file. Ignored if it cannot be found,
298
-    * and throws an exception if it fails.
299
-    * 
300
-    * @param string $filePath
301
-    * @throws FileHelper_Exception
302
-    * 
303
-    * @see FileHelper::ERROR_CANNOT_DELETE_FILE
304
-    */
296
+    /**
297
+     * Deletes the target file. Ignored if it cannot be found,
298
+     * and throws an exception if it fails.
299
+     * 
300
+     * @param string $filePath
301
+     * @throws FileHelper_Exception
302
+     * 
303
+     * @see FileHelper::ERROR_CANNOT_DELETE_FILE
304
+     */
305 305
     public static function deleteFile(string $filePath) : void
306 306
     {
307 307
         if(!file_exists($filePath)) {
@@ -323,15 +323,15 @@  discard block
 block discarded – undo
323 323
     }
324 324
 
325 325
     /**
326
-    * Creates a new CSV parser instance and returns it.
327
-    * 
328
-    * @param string $delimiter
329
-    * @param string $enclosure
330
-    * @param string $escape
331
-    * @param bool $heading
332
-    * @return \parseCSV
333
-    * @todo Move this to the CSV helper.
334
-    */
326
+     * Creates a new CSV parser instance and returns it.
327
+     * 
328
+     * @param string $delimiter
329
+     * @param string $enclosure
330
+     * @param string $escape
331
+     * @param bool $heading
332
+     * @return \parseCSV
333
+     * @todo Move this to the CSV helper.
334
+     */
335 335
     public static function createCSVParser(string $delimiter = ';', string $enclosure = '"', string $escape = '\\', bool $heading=false) : \parseCSV
336 336
     {
337 337
         if($delimiter==='') { $delimiter = ';'; }
@@ -346,23 +346,23 @@  discard block
 block discarded – undo
346 346
         return $parser;
347 347
     }
348 348
 
349
-   /**
350
-    * Parses all lines in the specified string and returns an
351
-    * indexed array with all csv values in each line.
352
-    *
353
-    * @param string $csv
354
-    * @param string $delimiter
355
-    * @param string $enclosure
356
-    * @param string $escape
357
-    * @param bool $heading
358
-    * @return array
359
-    * @throws FileHelper_Exception
360
-    * 
361
-    * @todo Move this to the CSVHelper.
362
-    *
363
-    * @see parseCSVFile()
364
-    * @see FileHelper::ERROR_PARSING_CSV
365
-    */
349
+    /**
350
+     * Parses all lines in the specified string and returns an
351
+     * indexed array with all csv values in each line.
352
+     *
353
+     * @param string $csv
354
+     * @param string $delimiter
355
+     * @param string $enclosure
356
+     * @param string $escape
357
+     * @param bool $heading
358
+     * @return array
359
+     * @throws FileHelper_Exception
360
+     * 
361
+     * @todo Move this to the CSVHelper.
362
+     *
363
+     * @see parseCSVFile()
364
+     * @see FileHelper::ERROR_PARSING_CSV
365
+     */
366 366
     public static function parseCSVString(string $csv, string $delimiter = ';', string $enclosure = '"', string $escape = '\\', bool $heading=false) : array
367 367
     {
368 368
         $parser = self::createCSVParser($delimiter, $enclosure, $escape, $heading);
@@ -541,31 +541,31 @@  discard block
 block discarded – undo
541 541
         );
542 542
     }
543 543
     
544
-   /**
545
-    * Verifies whether the target file is a PHP file. The path
546
-    * to the file can be a path to a file as a string, or a 
547
-    * DirectoryIterator object instance.
548
-    * 
549
-    * @param string|\DirectoryIterator $pathOrDirIterator
550
-    * @return boolean
551
-    */
544
+    /**
545
+     * Verifies whether the target file is a PHP file. The path
546
+     * to the file can be a path to a file as a string, or a 
547
+     * DirectoryIterator object instance.
548
+     * 
549
+     * @param string|\DirectoryIterator $pathOrDirIterator
550
+     * @return boolean
551
+     */
552 552
     public static function isPHPFile($pathOrDirIterator)
553 553
     {
554
-    	if(self::getExtension($pathOrDirIterator) == 'php') {
555
-    		return true;
556
-    	}
554
+        if(self::getExtension($pathOrDirIterator) == 'php') {
555
+            return true;
556
+        }
557 557
     	
558
-    	return false;
558
+        return false;
559 559
     }
560 560
     
561
-   /**
562
-    * Retrieves the extension of the specified file. Can be a path
563
-    * to a file as a string, or a DirectoryIterator object instance.
564
-    * 
565
-    * @param string|\DirectoryIterator $pathOrDirIterator
566
-    * @param bool $lowercase
567
-    * @return string
568
-    */
561
+    /**
562
+     * Retrieves the extension of the specified file. Can be a path
563
+     * to a file as a string, or a DirectoryIterator object instance.
564
+     * 
565
+     * @param string|\DirectoryIterator $pathOrDirIterator
566
+     * @param bool $lowercase
567
+     * @return string
568
+     */
569 569
     public static function getExtension($pathOrDirIterator, bool $lowercase = true) : string
570 570
     {
571 571
         if($pathOrDirIterator instanceof \DirectoryIterator) {
@@ -576,51 +576,51 @@  discard block
 block discarded – undo
576 576
          
577 577
         $ext = pathinfo($filename, PATHINFO_EXTENSION);
578 578
         if($lowercase) {
579
-        	$ext = mb_strtolower($ext);
579
+            $ext = mb_strtolower($ext);
580 580
         }
581 581
         
582 582
         return $ext;
583 583
     }
584 584
     
585
-   /**
586
-    * Retrieves the file name from a path, with or without extension.
587
-    * The path to the file can be a string, or a DirectoryIterator object
588
-    * instance.
589
-    * 
590
-    * In case of folders, behaves like the pathinfo function: returns
591
-    * the name of the folder.
592
-    * 
593
-    * @param string|\DirectoryIterator $pathOrDirIterator
594
-    * @param bool $extension
595
-    * @return string
596
-    */
585
+    /**
586
+     * Retrieves the file name from a path, with or without extension.
587
+     * The path to the file can be a string, or a DirectoryIterator object
588
+     * instance.
589
+     * 
590
+     * In case of folders, behaves like the pathinfo function: returns
591
+     * the name of the folder.
592
+     * 
593
+     * @param string|\DirectoryIterator $pathOrDirIterator
594
+     * @param bool $extension
595
+     * @return string
596
+     */
597 597
     public static function getFilename($pathOrDirIterator, $extension = true)
598 598
     {
599 599
         $path = $pathOrDirIterator;
600
-    	if($pathOrDirIterator instanceof \DirectoryIterator) {
601
-    		$path = $pathOrDirIterator->getFilename();
602
-    	}
600
+        if($pathOrDirIterator instanceof \DirectoryIterator) {
601
+            $path = $pathOrDirIterator->getFilename();
602
+        }
603 603
     	
604
-    	$path = self::normalizePath($path);
604
+        $path = self::normalizePath($path);
605 605
     	
606
-    	if(!$extension) {
607
-    	    return pathinfo($path, PATHINFO_FILENAME);
608
-    	}
606
+        if(!$extension) {
607
+            return pathinfo($path, PATHINFO_FILENAME);
608
+        }
609 609
     	
610
-    	return pathinfo($path, PATHINFO_BASENAME); 
610
+        return pathinfo($path, PATHINFO_BASENAME); 
611 611
     }
612 612
    
613
-   /**
614
-    * Tries to read the contents of the target file and
615
-    * treat it as JSON to return the decoded JSON data.
616
-    * 
617
-    * @param string $file
618
-    * @throws FileHelper_Exception
619
-    * @return array
620
-    * 
621
-    * @see FileHelper::ERROR_CANNOT_FIND_JSON_FILE
622
-    * @see FileHelper::ERROR_CANNOT_DECODE_JSON_FILE
623
-    */ 
613
+    /**
614
+     * Tries to read the contents of the target file and
615
+     * treat it as JSON to return the decoded JSON data.
616
+     * 
617
+     * @param string $file
618
+     * @throws FileHelper_Exception
619
+     * @return array
620
+     * 
621
+     * @see FileHelper::ERROR_CANNOT_FIND_JSON_FILE
622
+     * @see FileHelper::ERROR_CANNOT_DECODE_JSON_FILE
623
+     */ 
624 624
     public static function parseJSONFile(string $file, $targetEncoding=null, $sourceEncoding=null)
625 625
     {
626 626
         self::requireFileExists($file, self::ERROR_CANNOT_FIND_JSON_FILE);
@@ -656,16 +656,16 @@  discard block
 block discarded – undo
656 656
         return $json;
657 657
     }
658 658
     
659
-   /**
660
-    * Corrects common formatting mistakes when users enter
661
-    * file names, like too many spaces, dots and the like.
662
-    * 
663
-    * NOTE: if the file name contains a path, the path is
664
-    * stripped, leaving only the file name.
665
-    * 
666
-    * @param string $name
667
-    * @return string
668
-    */
659
+    /**
660
+     * Corrects common formatting mistakes when users enter
661
+     * file names, like too many spaces, dots and the like.
662
+     * 
663
+     * NOTE: if the file name contains a path, the path is
664
+     * stripped, leaving only the file name.
665
+     * 
666
+     * @param string $name
667
+     * @return string
668
+     */
669 669
     public static function fixFileName(string $name) : string
670 670
     {
671 671
         $name = trim($name);
@@ -695,60 +695,60 @@  discard block
 block discarded – undo
695 695
         return $name;
696 696
     }
697 697
     
698
-   /**
699
-    * Creates an instance of the file finder, which is an easier
700
-    * alternative to the other manual findFile methods, since all
701
-    * options can be set by chaining.
702
-    * 
703
-    * @param string $path
704
-    * @return FileHelper_FileFinder
705
-    */
698
+    /**
699
+     * Creates an instance of the file finder, which is an easier
700
+     * alternative to the other manual findFile methods, since all
701
+     * options can be set by chaining.
702
+     * 
703
+     * @param string $path
704
+     * @return FileHelper_FileFinder
705
+     */
706 706
     public static function createFileFinder(string $path) : FileHelper_FileFinder
707 707
     {
708 708
         return new FileHelper_FileFinder($path);
709 709
     }
710 710
     
711
-   /**
712
-    * Searches for all HTML files in the target folder.
713
-    * 
714
-    * @param string $targetFolder
715
-    * @param array $options
716
-    * @return array An indexed array with files.
717
-    * @see FileHelper::createFileFinder()
718
-    * 
719
-    * @todo Convert this to use the file finder.
720
-    */
711
+    /**
712
+     * Searches for all HTML files in the target folder.
713
+     * 
714
+     * @param string $targetFolder
715
+     * @param array $options
716
+     * @return array An indexed array with files.
717
+     * @see FileHelper::createFileFinder()
718
+     * 
719
+     * @todo Convert this to use the file finder.
720
+     */
721 721
     public static function findHTMLFiles(string $targetFolder, array $options=array()) : array
722 722
     {
723 723
         return self::findFiles($targetFolder, array('html'), $options);
724 724
     }
725 725
 
726
-   /**
727
-    * Searches for all PHP files in the target folder.
728
-    * 
729
-    * @param string $targetFolder
730
-    * @param array $options
731
-    * @return array An indexed array of PHP files.
732
-    * @see FileHelper::createFileFinder()
733
-    * 
734
-    * @todo Convert this to use the file finder.
735
-    */
726
+    /**
727
+     * Searches for all PHP files in the target folder.
728
+     * 
729
+     * @param string $targetFolder
730
+     * @param array $options
731
+     * @return array An indexed array of PHP files.
732
+     * @see FileHelper::createFileFinder()
733
+     * 
734
+     * @todo Convert this to use the file finder.
735
+     */
736 736
     public static function findPHPFiles(string $targetFolder, array $options=array()) : array
737 737
     {
738 738
         return self::findFiles($targetFolder, array('php'), $options);
739 739
     }
740 740
     
741
-   /**
742
-    * 
743
-    * @param string $targetFolder
744
-    * @param array $extensions
745
-    * @param array $options
746
-    * @param array $files
747
-    * @throws FileHelper_Exception
748
-    * @return array
749
-    * @deprecated Will be replaced by the file finder in the future.
750
-    * @see FileHelper::createFileFinder()
751
-    */
741
+    /**
742
+     * 
743
+     * @param string $targetFolder
744
+     * @param array $extensions
745
+     * @param array $options
746
+     * @param array $files
747
+     * @throws FileHelper_Exception
748
+     * @return array
749
+     * @deprecated Will be replaced by the file finder in the future.
750
+     * @see FileHelper::createFileFinder()
751
+     */
752 752
     public static function findFiles(string $targetFolder, array $extensions=array(), array $options=array(), array $files=array()) : array
753 753
     {
754 754
         if(!isset($options['strip-extension'])) {
@@ -829,13 +829,13 @@  discard block
 block discarded – undo
829 829
         return $files;
830 830
     }
831 831
 
832
-   /**
833
-    * Removes the extension from the specified path or file name,
834
-    * if any, and returns the name without the extension.
835
-    * 
836
-    * @param string $filename
837
-    * @return sTring
838
-    */
832
+    /**
833
+     * Removes the extension from the specified path or file name,
834
+     * if any, and returns the name without the extension.
835
+     * 
836
+     * @param string $filename
837
+     * @return sTring
838
+     */
839 839
     public static function removeExtension(string $filename) : string
840 840
     {
841 841
         // normalize paths to allow windows style slashes even on nix servers
@@ -844,22 +844,22 @@  discard block
 block discarded – undo
844 844
         return pathinfo($filename, PATHINFO_FILENAME);
845 845
     }
846 846
     
847
-   /**
848
-    * Detects the UTF BOM in the target file, if any. Returns
849
-    * the encoding matching the BOM, which can be any of the
850
-    * following:
851
-    * 
852
-    * <ul>
853
-    * <li>UTF32-BE</li>
854
-    * <li>UTF32-LE</li>
855
-    * <li>UTF16-BE</li>
856
-    * <li>UTF16-LE</li>
857
-    * <li>UTF8</li>
858
-    * </ul>
859
-    * 
860
-    * @param string $filename
861
-    * @return string|NULL
862
-    */
847
+    /**
848
+     * Detects the UTF BOM in the target file, if any. Returns
849
+     * the encoding matching the BOM, which can be any of the
850
+     * following:
851
+     * 
852
+     * <ul>
853
+     * <li>UTF32-BE</li>
854
+     * <li>UTF32-LE</li>
855
+     * <li>UTF16-BE</li>
856
+     * <li>UTF16-LE</li>
857
+     * <li>UTF8</li>
858
+     * </ul>
859
+     * 
860
+     * @param string $filename
861
+     * @return string|NULL
862
+     */
863 863
     public static function detectUTFBom(string $filename) : ?string
864 864
     {
865 865
         $fp = fopen($filename, 'r');
@@ -891,13 +891,13 @@  discard block
 block discarded – undo
891 891
     
892 892
     protected static $utfBoms;
893 893
     
894
-   /**
895
-    * Retrieves a list of all UTF byte order mark character
896
-    * sequences, as an assocative array with UTF encoding => bom sequence
897
-    * pairs.
898
-    * 
899
-    * @return array
900
-    */
894
+    /**
895
+     * Retrieves a list of all UTF byte order mark character
896
+     * sequences, as an assocative array with UTF encoding => bom sequence
897
+     * pairs.
898
+     * 
899
+     * @return array
900
+     */
901 901
     public static function getUTFBOMs()
902 902
     {
903 903
         if(!isset(self::$utfBoms)) {
@@ -913,15 +913,15 @@  discard block
 block discarded – undo
913 913
         return self::$utfBoms;
914 914
     }
915 915
     
916
-   /**
917
-    * Checks whether the specified encoding is a valid
918
-    * unicode encoding, for example "UTF16-LE" or "UTF8".
919
-    * Also accounts for alternate way to write the, like
920
-    * "UTF-8", and omitting little/big endian suffixes.
921
-    * 
922
-    * @param string $encoding
923
-    * @return boolean
924
-    */
916
+    /**
917
+     * Checks whether the specified encoding is a valid
918
+     * unicode encoding, for example "UTF16-LE" or "UTF8".
919
+     * Also accounts for alternate way to write the, like
920
+     * "UTF-8", and omitting little/big endian suffixes.
921
+     * 
922
+     * @param string $encoding
923
+     * @return boolean
924
+     */
925 925
     public static function isValidUnicodeEncoding(string $encoding) : bool
926 926
     {
927 927
         $encodings = self::getKnownUnicodeEncodings();
@@ -940,22 +940,22 @@  discard block
 block discarded – undo
940 940
         return in_array($encoding, $keep);
941 941
     }
942 942
     
943
-   /**
944
-    * Retrieves a list of all known unicode file encodings.
945
-    * @return array
946
-    */
943
+    /**
944
+     * Retrieves a list of all known unicode file encodings.
945
+     * @return array
946
+     */
947 947
     public static function getKnownUnicodeEncodings()
948 948
     {
949 949
         return array_keys(self::getUTFBOMs());
950 950
     }
951 951
     
952
-   /**
953
-    * Normalizes the slash style in a file or folder path,
954
-    * by replacing any antislashes with forward slashes.
955
-    * 
956
-    * @param string $path
957
-    * @return string
958
-    */
952
+    /**
953
+     * Normalizes the slash style in a file or folder path,
954
+     * by replacing any antislashes with forward slashes.
955
+     * 
956
+     * @param string $path
957
+     * @return string
958
+     */
959 959
     public static function normalizePath(string $path) : string
960 960
     {
961 961
         return str_replace(array('\\', '//'), array('/', '/'), $path);
@@ -988,18 +988,18 @@  discard block
 block discarded – undo
988 988
         }
989 989
     }
990 990
    
991
-   /**
992
-    * Saves the specified content to the target file, creating
993
-    * the file and the folder as necessary.
994
-    * 
995
-    * @param string $filePath
996
-    * @param string $content
997
-    * @throws FileHelper_Exception
998
-    * 
999
-    * @see FileHelper::ERROR_SAVE_FOLDER_NOT_WRITABLE
1000
-    * @see FileHelper::ERROR_SAVE_FILE_NOT_WRITABLE
1001
-    * @see FileHelper::ERROR_SAVE_FILE_WRITE_FAILED
1002
-    */
991
+    /**
992
+     * Saves the specified content to the target file, creating
993
+     * the file and the folder as necessary.
994
+     * 
995
+     * @param string $filePath
996
+     * @param string $content
997
+     * @throws FileHelper_Exception
998
+     * 
999
+     * @see FileHelper::ERROR_SAVE_FOLDER_NOT_WRITABLE
1000
+     * @see FileHelper::ERROR_SAVE_FILE_NOT_WRITABLE
1001
+     * @see FileHelper::ERROR_SAVE_FILE_WRITE_FAILED
1002
+     */
1003 1003
     public static function saveFile(string $filePath, string $content='') : void
1004 1004
     {
1005 1005
         // target file already exists
@@ -1052,12 +1052,12 @@  discard block
 block discarded – undo
1052 1052
         );
1053 1053
     }
1054 1054
     
1055
-   /**
1056
-    * Checks whether it is possible to run PHP command 
1057
-    * line commands.
1058
-    * 
1059
-    * @return boolean
1060
-    */
1055
+    /**
1056
+     * Checks whether it is possible to run PHP command 
1057
+     * line commands.
1058
+     * 
1059
+     * @return boolean
1060
+     */
1061 1061
     public static function canMakePHPCalls() : bool
1062 1062
     {
1063 1063
         return self::cliCommandExists('php');
@@ -1132,16 +1132,16 @@  discard block
 block discarded – undo
1132 1132
         return $result;
1133 1133
     }
1134 1134
     
1135
-   /**
1136
-    * Validates a PHP file's syntax.
1137
-    * 
1138
-    * NOTE: This will fail silently if the PHP command line
1139
-    * is not available. Use {@link FileHelper::canMakePHPCalls()}
1140
-    * to check this beforehand as needed.
1141
-    * 
1142
-    * @param string $path
1143
-    * @return boolean|array A boolean true if the file is valid, an array with validation messages otherwise.
1144
-    */
1135
+    /**
1136
+     * Validates a PHP file's syntax.
1137
+     * 
1138
+     * NOTE: This will fail silently if the PHP command line
1139
+     * is not available. Use {@link FileHelper::canMakePHPCalls()}
1140
+     * to check this beforehand as needed.
1141
+     * 
1142
+     * @param string $path
1143
+     * @return boolean|array A boolean true if the file is valid, an array with validation messages otherwise.
1144
+     */
1145 1145
     public static function checkPHPFileSyntax($path)
1146 1146
     {
1147 1147
         if(!self::canMakePHPCalls()) {
@@ -1165,14 +1165,14 @@  discard block
 block discarded – undo
1165 1165
         return $output;
1166 1166
     }
1167 1167
     
1168
-   /**
1169
-    * Retrieves the last modified date for the specified file or folder.
1170
-    * 
1171
-    * Note: If the target does not exist, returns null. 
1172
-    * 
1173
-    * @param string $path
1174
-    * @return \DateTime|NULL
1175
-    */
1168
+    /**
1169
+     * Retrieves the last modified date for the specified file or folder.
1170
+     * 
1171
+     * Note: If the target does not exist, returns null. 
1172
+     * 
1173
+     * @param string $path
1174
+     * @return \DateTime|NULL
1175
+     */
1176 1176
     public static function getModifiedDate($path)
1177 1177
     {
1178 1178
         $time = filemtime($path);
@@ -1185,22 +1185,22 @@  discard block
 block discarded – undo
1185 1185
         return null; 
1186 1186
     }
1187 1187
     
1188
-   /**
1189
-    * Retrieves the names of all subfolders in the specified path.
1190
-    * 
1191
-    * Available options:
1192
-    * 
1193
-    * - recursive: true/false
1194
-    *   Whether to search for subfolders recursively. 
1195
-    *   
1196
-    * - absolute-paths: true/false
1197
-    *   Whether to return a list of absolute paths.
1198
-    * 
1199
-    * @param string $targetFolder
1200
-    * @param array $options
1201
-    * @throws FileHelper_Exception
1202
-    * @return string[]
1203
-    */
1188
+    /**
1189
+     * Retrieves the names of all subfolders in the specified path.
1190
+     * 
1191
+     * Available options:
1192
+     * 
1193
+     * - recursive: true/false
1194
+     *   Whether to search for subfolders recursively. 
1195
+     *   
1196
+     * - absolute-paths: true/false
1197
+     *   Whether to return a list of absolute paths.
1198
+     * 
1199
+     * @param string $targetFolder
1200
+     * @param array $options
1201
+     * @throws FileHelper_Exception
1202
+     * @return string[]
1203
+     */
1204 1204
     public static function getSubfolders($targetFolder, $options = array())
1205 1205
     {
1206 1206
         if(!is_dir($targetFolder)) 
@@ -1261,16 +1261,16 @@  discard block
 block discarded – undo
1261 1261
         return $result;
1262 1262
     }
1263 1263
 
1264
-   /**
1265
-    * Retrieves the maximum allowed upload file size, in bytes.
1266
-    * Takes into account the PHP ini settings <code>post_max_size</code>
1267
-    * and <code>upload_max_filesize</code>. Since these cannot
1268
-    * be modified at runtime, they are the hard limits for uploads.
1269
-    * 
1270
-    * NOTE: Based on binary values, where 1KB = 1024 Bytes.
1271
-    * 
1272
-    * @return int Will return <code>-1</code> if no limit.
1273
-    */
1264
+    /**
1265
+     * Retrieves the maximum allowed upload file size, in bytes.
1266
+     * Takes into account the PHP ini settings <code>post_max_size</code>
1267
+     * and <code>upload_max_filesize</code>. Since these cannot
1268
+     * be modified at runtime, they are the hard limits for uploads.
1269
+     * 
1270
+     * NOTE: Based on binary values, where 1KB = 1024 Bytes.
1271
+     * 
1272
+     * @return int Will return <code>-1</code> if no limit.
1273
+     */
1274 1274
     public static function getMaxUploadFilesize() : int
1275 1275
     {
1276 1276
         static $max_size = -1;
@@ -1307,16 +1307,16 @@  discard block
 block discarded – undo
1307 1307
         return round($size);
1308 1308
     }
1309 1309
    
1310
-   /**
1311
-    * Makes a path relative using a folder depth: will reduce the
1312
-    * length of the path so that only the amount of folders defined
1313
-    * in the <code>$depth</code> attribute are shown below the actual
1314
-    * folder or file in the path.
1315
-    *  
1316
-    * @param string  $path The absolute or relative path
1317
-    * @param int $depth The folder depth to reduce the path to
1318
-    * @return string
1319
-    */
1310
+    /**
1311
+     * Makes a path relative using a folder depth: will reduce the
1312
+     * length of the path so that only the amount of folders defined
1313
+     * in the <code>$depth</code> attribute are shown below the actual
1314
+     * folder or file in the path.
1315
+     *  
1316
+     * @param string  $path The absolute or relative path
1317
+     * @param int $depth The folder depth to reduce the path to
1318
+     * @return string
1319
+     */
1320 1320
     public static function relativizePathByDepth(string $path, int $depth=2) : string
1321 1321
     {
1322 1322
         $path = self::normalizePath($path);
@@ -1354,23 +1354,23 @@  discard block
 block discarded – undo
1354 1354
         return trim(implode('/', $tokens), '/');
1355 1355
     }
1356 1356
     
1357
-   /**
1358
-    * Makes the specified path relative to another path,
1359
-    * by removing one from the other if found. Also 
1360
-    * normalizes the path to use forward slashes. 
1361
-    * 
1362
-    * Example:
1363
-    * 
1364
-    * <pre>
1365
-    * relativizePath('c:\some\folder\to\file.txt', 'c:\some\folder');
1366
-    * </pre>
1367
-    * 
1368
-    * Result: <code>to/file.txt</code>
1369
-    * 
1370
-    * @param string $path
1371
-    * @param string $relativeTo
1372
-    * @return string
1373
-    */
1357
+    /**
1358
+     * Makes the specified path relative to another path,
1359
+     * by removing one from the other if found. Also 
1360
+     * normalizes the path to use forward slashes. 
1361
+     * 
1362
+     * Example:
1363
+     * 
1364
+     * <pre>
1365
+     * relativizePath('c:\some\folder\to\file.txt', 'c:\some\folder');
1366
+     * </pre>
1367
+     * 
1368
+     * Result: <code>to/file.txt</code>
1369
+     * 
1370
+     * @param string $path
1371
+     * @param string $relativeTo
1372
+     * @return string
1373
+     */
1374 1374
     public static function relativizePath(string $path, string $relativeTo) : string
1375 1375
     {
1376 1376
         $path = self::normalizePath($path);
@@ -1382,17 +1382,17 @@  discard block
 block discarded – undo
1382 1382
         return $relative;
1383 1383
     }
1384 1384
     
1385
-   /**
1386
-    * Checks that the target file exists, and throws an exception
1387
-    * if it does not. 
1388
-    * 
1389
-    * @param string $path
1390
-    * @param int|NULL $errorCode Optional custom error code
1391
-    * @throws FileHelper_Exception
1392
-    * @return string The real path to the file
1393
-    * 
1394
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1395
-    */
1385
+    /**
1386
+     * Checks that the target file exists, and throws an exception
1387
+     * if it does not. 
1388
+     * 
1389
+     * @param string $path
1390
+     * @param int|NULL $errorCode Optional custom error code
1391
+     * @throws FileHelper_Exception
1392
+     * @return string The real path to the file
1393
+     * 
1394
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1395
+     */
1396 1396
     public static function requireFileExists(string $path, $errorCode=null) : string
1397 1397
     {
1398 1398
         $result = realpath($path);
@@ -1411,18 +1411,18 @@  discard block
 block discarded – undo
1411 1411
         );
1412 1412
     }
1413 1413
     
1414
-   /**
1415
-    * Reads a specific line number from the target file and returns its
1416
-    * contents, if the file has such a line. Does so with little memory
1417
-    * usage, as the file is not read entirely into memory.
1418
-    * 
1419
-    * @param string $path
1420
-    * @param int $lineNumber Note: 1-based; the first line is number 1.
1421
-    * @return string|NULL Will return null if the requested line does not exist.
1422
-    * @throws FileHelper_Exception
1423
-    * 
1424
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1425
-    */
1414
+    /**
1415
+     * Reads a specific line number from the target file and returns its
1416
+     * contents, if the file has such a line. Does so with little memory
1417
+     * usage, as the file is not read entirely into memory.
1418
+     * 
1419
+     * @param string $path
1420
+     * @param int $lineNumber Note: 1-based; the first line is number 1.
1421
+     * @return string|NULL Will return null if the requested line does not exist.
1422
+     * @throws FileHelper_Exception
1423
+     * 
1424
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1425
+     */
1426 1426
     public static function getLineFromFile(string $path, int $lineNumber) : ?string
1427 1427
     {
1428 1428
         self::requireFileExists($path);
@@ -1438,19 +1438,19 @@  discard block
 block discarded – undo
1438 1438
         $file->seek($targetLine);
1439 1439
         
1440 1440
         if($file->key() !== $targetLine) {
1441
-             return null;
1441
+                return null;
1442 1442
         }
1443 1443
         
1444 1444
         return $file->current(); 
1445 1445
     }
1446 1446
     
1447
-   /**
1448
-    * Retrieves the total amount of lines in the file, without 
1449
-    * reading the whole file into memory.
1450
-    * 
1451
-    * @param string $path
1452
-    * @return int
1453
-    */
1447
+    /**
1448
+     * Retrieves the total amount of lines in the file, without 
1449
+     * reading the whole file into memory.
1450
+     * 
1451
+     * @param string $path
1452
+     * @return int
1453
+     */
1454 1454
     public static function countFileLines(string $path) : int
1455 1455
     {
1456 1456
         self::requireFileExists($path);
@@ -1480,26 +1480,26 @@  discard block
 block discarded – undo
1480 1480
         return $number+1;
1481 1481
     }
1482 1482
     
1483
-   /**
1484
-    * Parses the target file to detect any PHP classes contained
1485
-    * within, and retrieve information on them. Does not use the 
1486
-    * PHP reflection API.
1487
-    * 
1488
-    * @param string $filePath
1489
-    * @return FileHelper_PHPClassInfo
1490
-    */
1483
+    /**
1484
+     * Parses the target file to detect any PHP classes contained
1485
+     * within, and retrieve information on them. Does not use the 
1486
+     * PHP reflection API.
1487
+     * 
1488
+     * @param string $filePath
1489
+     * @return FileHelper_PHPClassInfo
1490
+     */
1491 1491
     public static function findPHPClasses(string $filePath) : FileHelper_PHPClassInfo
1492 1492
     {
1493 1493
         return new FileHelper_PHPClassInfo($filePath);
1494 1494
     }
1495 1495
     
1496
-   /**
1497
-    * Detects the end of line style used in the target file, if any.
1498
-    * Can be used with large files, because it only reads part of it.
1499
-    * 
1500
-    * @param string $filePath The path to the file.
1501
-    * @return NULL|ConvertHelper_EOL The end of line character information, or NULL if none is found.
1502
-    */
1496
+    /**
1497
+     * Detects the end of line style used in the target file, if any.
1498
+     * Can be used with large files, because it only reads part of it.
1499
+     * 
1500
+     * @param string $filePath The path to the file.
1501
+     * @return NULL|ConvertHelper_EOL The end of line character information, or NULL if none is found.
1502
+     */
1503 1503
     public static function detectEOLCharacter(string $filePath) : ?ConvertHelper_EOL
1504 1504
     {
1505 1505
         // 20 lines is enough to get a good picture of the newline style in the file.
@@ -1512,18 +1512,18 @@  discard block
 block discarded – undo
1512 1512
         return ConvertHelper::detectEOLCharacter($string);
1513 1513
     }
1514 1514
     
1515
-   /**
1516
-    * Reads the specified amount of lines from the target file.
1517
-    * Unicode BOM compatible: any byte order marker is stripped
1518
-    * from the resulting lines.
1519
-    * 
1520
-    * @param string $filePath
1521
-    * @param int $amount Set to 0 to read all lines.
1522
-    * @return array
1523
-    * 
1524
-    * @see FileHelper::ERROR_CANNOT_OPEN_FILE_TO_READ_LINES
1525
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1526
-    */
1515
+    /**
1516
+     * Reads the specified amount of lines from the target file.
1517
+     * Unicode BOM compatible: any byte order marker is stripped
1518
+     * from the resulting lines.
1519
+     * 
1520
+     * @param string $filePath
1521
+     * @param int $amount Set to 0 to read all lines.
1522
+     * @return array
1523
+     * 
1524
+     * @see FileHelper::ERROR_CANNOT_OPEN_FILE_TO_READ_LINES
1525
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1526
+     */
1527 1527
     public static function readLines(string $filePath, int $amount=0) : array
1528 1528
     {
1529 1529
         self::requireFileExists($filePath);
@@ -1574,16 +1574,16 @@  discard block
 block discarded – undo
1574 1574
         return $result;
1575 1575
     }
1576 1576
     
1577
-   /**
1578
-    * Reads all content from a file.
1579
-    * 
1580
-    * @param string $filePath
1581
-    * @throws FileHelper_Exception
1582
-    * @return string
1583
-    * 
1584
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1585
-    * @see FileHelper::ERROR_CANNOT_READ_FILE_CONTENTS
1586
-    */
1577
+    /**
1578
+     * Reads all content from a file.
1579
+     * 
1580
+     * @param string $filePath
1581
+     * @throws FileHelper_Exception
1582
+     * @return string
1583
+     * 
1584
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1585
+     * @see FileHelper::ERROR_CANNOT_READ_FILE_CONTENTS
1586
+     */
1587 1587
     public static function readContents(string $filePath) : string
1588 1588
     {
1589 1589
         self::requireFileExists($filePath);
Please login to merge, or discard this patch.