@@ -359,6 +359,44 @@ Malformed paths are returned unchanged::
359
359
echo Path::canonicalize('C:Programs/PHP/php.ini');
360
360
// => C:Programs/PHP/php.ini
361
361
362
+ Joining Paths
363
+ ~~~~~~~~~~~~~
364
+
365
+ The :method: `Symfony\\ Component\\ Filesystem\\ Path::join ` method concatenates
366
+ the given paths and normalizes separators. It's a cleaner alternative to
367
+ string concatenation for building file paths::
368
+
369
+ echo Path::join('/var/www', 'vhost', 'config.ini');
370
+ // => /var/www/vhost/config.ini
371
+
372
+ echo Path::join('C:\\Program Files', 'PHP', 'php.ini');
373
+ // => C:/Program Files/PHP/php.ini
374
+
375
+ The method handles multiple scenarios correctly:
376
+
377
+ - Empty parts are ignored::
378
+
379
+ echo Path::join('/var/www', '', 'config.ini');
380
+ // => /var/www/config.ini
381
+
382
+ - Absolute paths reset the result::
383
+
384
+ echo Path::join('/var/www', '/etc', 'config.ini');
385
+ // => /etc/config.ini
386
+
387
+ - Trailing slashes are preserved only for root paths::
388
+
389
+ echo Path::join('/var/www', 'vhost/');
390
+ // => /var/www/vhost
391
+
392
+ echo Path::join('/', '');
393
+ // => /
394
+
395
+ - Works with any number of arguments::
396
+
397
+ echo Path::join('/var', 'www', 'vhost', 'webmozart', 'config', 'config.ini');
398
+ // => /var/www/vhost/webmozart/config/config.ini
399
+
362
400
Converting Absolute/Relative Paths
363
401
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
364
402
0 commit comments