This one is really annoying.
File 1:
<?php
namespace PackOne;
class Foo {
}
class Bar {
}
File 2:
<?php
namespace PackTwo;
use PackOne\{Bar, Foo};
class Baz {
public function __construct() {
new Foo();
new Bar();
}
}
Try to rename Bar into BarCelona:
<?php
namespace PackTwo;
use PackOne\{PackOne\BarCelona, Foo};
class Baz {
public function __construct() {
new Foo();
new BarCelona(); // Use of unknown class: 'PackOne\PackOne\BarCelona' PHP(PHP0413)
}
}
Imagine that spread across dozens of files. 😩