Я перебуваю на стадії попереднього випуску PHP-проекту з відкритим кодом, який, сподіваюся, буде використаний іншими розробниками у власних проектах. Наразі проект не підтримує простори імен, і я намагаюся оцінити, чи слід використовувати простори імен або умову PEAR іменування Dir_Subdir_Class, яка, схоже, має ті самі технічні переваги без деяких недоліків. Якщо чесно, це непростий вибір.
Деякі питання щодо просторів імен:
- Один із способів того, як мій проект намагається диференціюватися, надаючи більш простий API, ніж інші подібні проекти. Оскільки простори імен є новими, а також тому, що вони складніші за конвенцію іменування PEAR, введення їх у кодову базу зробить мій проект менш простим у використанні. Реалізуючи їх, я втрачаю деяку диференціацію з точки зору простоти використання.
- Хоча я бачу деякі переваги для просторів імен, вони, схоже, не вирішують проблеми, яку потрібно вирішити в сучасному продукті PHP, який використовує конвенцію про іменування PEAR. Називання конфліктів під час використання мого проекту повинно бути мінімальним, якщо не існує.
- Ця стаття дає мені деяку паузу у прийнятті просторів імен, оскільки їх реалізація була менш зоряною.
- Я також вагаюся стрибати на естакаді, яка може нікуди не поїхати. Оскільки простори імен є новою функцією для PHP, я ще не впевнений, що вони стануть стандартними.
- Сумісність. Майже весь PHP-код, який коли-небудь був написаний, не використовує простори імен, оскільки це нова функція. Інші бібліотеки були б несумісні без перетворення.
Деякі моменти використання просторів імен:
- Сприйняття. Якщо простори імен стануть стандартними та найкращими практиками, мій проект може швидко розглядатися як непрофесійний та застарілий без них.
- Конкуренція. Хоча деякі конкуруючі проекти PHP починають використовувати простори імен в останніх версіях, багато хто ще не зробив цей стрибок. Якщо це зробити зараз, це могло б дати мій проект ноги на інші проекти.
- Майбутня робота буде простішою, якби я перейшов зараз до того, як проект стане загальнодоступним, а не після, коли мені доведеться на деякий час підтримувати дві його версії.
- Я хочу підтримувати кращі практики, і якщо простори імен стануть найкращою практикою для PHP, мій проект повинен використовувати їх.
З того, що я можу сказати, ви повинні вибрати той чи інший спосіб; ви не можете зробити і те, і інше. Чи є моменти, які я не розглядав? Чи існують якісь об'єктивні знаки (не будь-яких полум'ям), які б вказували на або проти просторів імен, які стали професійним стандартом для PHP? Буду вдячний за будь-яке розуміння чи ресурси, якими ви хотіли б поділитися, як мені потрібно, щоб незабаром прийняти рішення.