Недавно я добавил расширение бота telegram в свое приложение Yii2, чтобы использовать его. но на самом деле это не расширение Yii2, а обычные структурированные файлы и классы пространства имен php.
название этого расширения телеграммы irazasyed/telegram-bot-sdk
на самом деле это имя, которое добавлено к моему composer.json
, Я хочу знать, как я могу сделать некоторые классы, как это расширение?
irazasyed/telegram-bot-sdk
структура такая:
vandor >>
irazasyed
telegram-bot-sdk
composer.json
license
src
class1.php
class2.php
и файлы классов могут быть доступны из пространства имен, как \Telegram\Bot\Api
с любого контроллера в моем приложении.
Я хочу знать, как я могу сделать что-то подобное сам.
Я хочу эту структуру:
vendor >>
myCustomName
myCustomPakageName
composer.json
license
src
Class1.php
Class2.php
и получить доступ к файлам классов из этого пространства имен \something\somethingElse\Class1;
как я могу это сделать?
Просто добавьте ваши файлы в папку (или папки) в папке проекта и используйте предложенное корневое пространство имен. Вам не нужен composer.json, так как вам не нужно устанавливать его с помощью composer. И вы не должны положить его в vendor
папка.
Пример для базового шаблона проекта:
— положить все в myCustomName
папка в корневой папке приложения,
— установить пространства имен для каждого класса, как app\myCustomName
(+ любую подпапку, которую вы используете)
Пример для расширенного шаблона проекта:
— положить все в myCustomName
папка в корневой папке выбранного приложения (например, frontend
или же common
),
— установить пространства имен для каждого класса, как frontend\myCustomName
(или же common
вместо frontend
или что-то + любая подпапка, которую вы используете)
Других решений пока нет …