Closed ram108 closed 2 years ago
Добрый день
Наличие стороннего кода обусловленно поддержкой Google API, который работает корректно только с их официальным SDK на РНР, это я из него еще выпилил 99% функционала, если подскажите как избавиться от их SDK - буду благодарен
Количество файлов никак не влияет на производительность вашего сайта или конкретно этого плагина, так как используется принцип зависимостей и они грузятся лишь в том случае, если их кто-то в данный момент использует
Google API
Из 11 подключенных библиотек самая большая и сомнительная в необходимости- phpseclib, которая, как я понимаю, не имеет отношения к Google API. То есть из 11 библиотек, скорее всего, только 2 библиотеки - API Google.
В любом случае, мне кажется, что это плохой тон, подключать код, сопоставимый с кодом самого Wordpress. В Wordpess порядка 1500 файлов кода, в вашем плагине более 660. И скорее всего в плагине используется не более 1% подключенного кода.
Извиняюсь за настойчивость, хотел добавить, что сам плагин - отличная и нужная идея. Но к реализации есть вопросы. Представляете, сколько таких плагинов, которые могут целые движки к Wordpress'у подключать. Я встречал плагины с laravel внутри. Ну это же бред? Поэтому и вам написал. Мастерство программиста - сделать оптимизированный код с минимальным листингом. Для себя - пожалуйста, подключайте хоть весь github, но этим кодом будут пользоваться тысячи сайтов.
У меня в зависимостях 3 пакета:
Всё остальное за собой тянут эти пакеты и простого способа от них избавиться - нет, так как я не нашел ни одной библиотеки для работы с API google, которая бы просто работала, а не создавала проблемы и повторюсь, не имеет значения количество файлов, если они не подключаются. Могу скинуть вам профиль Blackfire, по которому я работаю.
Остальные пакеты как раз и тянет за собой клиент гугла - https://github.com/googleapis/google-api-php-client/blob/main/composer.json#L9-L16
Понял Вас. Спасибо большое за ответы.
Добрый день! Посмотрел листинг плагина и был сильно удивлен количеству подключенных сторонних библиотек.
Сам плагин состоит из 20 файлов, и при этом он включает в себя 11 сторонних библиотек, общее количество файлов которых составляет более 660 файлов.
В сторонние библиотеки входят модули крипто-шифрования (AES, Blowfish, ChaCha20), модули соединения по SSH, SFTP, HTTP Proxy, Socks5, клиент Putty, два модуля с возможностью отправки удаленных логов и т.п.
Мне кажется этот набор очень странным и избыточным для такого простого плагина. К тому же, я думаю, что нехорошо включать столько кода в Wordpress.
Чем обусловлен такой подход и как используются подключенные библиотеки?
Листинг собственных файлов плагина (20 файлов)
Листинг сторонних библиотек (11 библиотек):
Файлы сторонних библиотек (более 660 файлов)