Как называть классы, при использовании пространства имен?
Я создаю проект, в котором будет несколько классов. Каждый класс будет отвечать за работу с определенным типом данных - строками, массивами и т.д.
Я создал класс Strings.php
<?php
namespace MyPHPProject;
class Strings
{
function test()
{
echo 'пространство MyPHPProject класс Strings метод test';
}
}
Далее я использую его в файле index.php
<?php
include_once __DIR__.'/Strings.php';
use MyPHPProject\Strings;
$strings=new Strings();
//$strings=new MyPHPProject\Strings(); // Ещё один вариант использования
$strings->test();
Имя Strings распространено и часто встречается. И если будет подключено какое либо другое пространство имен содержащее класс с таким же именем, то возникнет конфликт. Конфликт при создании экземпляра класса, без явного указания пространства имен. Конструкция use становится бесполезна.
Придется вместо use писать не очень красивый вариант в виде MyPHPProject\Strings.
Как называть классы, при использовании пространства имен? До пространства имен были префиксы.
Теперь, снова придется вернуться к префиксам в виде MyPHPStrings, но уже чтобы избежать кода в виде MyPHPProject\Strings()?