@prophp7

Страница 838 из 1387
Alexpts
16.12.2017
12:57:41
чем тебе htmlentities не хватает?
Слишком низкоуровневый вариант + нет уверености, что он на все случаи один нужен. Там еще и куча флагов к нему. Нужен более высокий уровень, чтобы взять и пользоваться, не вдаваясь, а какие флаги нужно использовать для разных случаев

Victor
16.12.2017
12:57:42
вызовет ошибки, пробовал? пхп поддерживает несколько автолоадов если чо ;)
Там проблема не в нескольких авталоадах, в нескольких загрузках одних и тех же классов. Да пробовал.

у твоего пакета есть собственная точка входа?
Нет, его композер запускает как команду

Alexpts
16.12.2017
12:58:44
twig :)
Это комбайн, нужно только для экранирования, чтобы 1 потребность покрыть, шаблонизатор не нужен.

Google
Alexpts
16.12.2017
12:59:30
function yourCoolEncoder(string $template) { return htmlentities(…) // choose your flags }
Да, и там несколько таких вариантов функций с разными именами, семантикой и флагами под капотом

Aleh
16.12.2017
12:59:44
Victor
16.12.2017
13:00:20
как скрипт или что?
Как команду. Сейчас попробую подробнее описать.

Alexpts
16.12.2017
13:00:33
как скрипт или что?
не понял вопрос

Aleh
16.12.2017
13:01:35
Как команду. Сейчас попробую подробнее описать.
у композера нет отдельного понятия как команда

Alexpts
16.12.2017
13:01:37
как скрипт или что?
Класс, который имеет несоклько методов escape, escapeJs, escapeCss, escapeOther... Который как композер пакет поставить и пользоваться

Sergey
16.12.2017
13:01:53
Да, и там несколько таких вариантов функций с разными именами, семантикой и флагами под капотом
то есть ты... хочешь не данные а шаблон туда передавать? и что бы он волшебным образом все вычищал?

Aleh
16.12.2017
13:01:55
не понял вопрос
потому что ответ не тебе)

Alexpts
16.12.2017
13:02:32
Victor
16.12.2017
13:02:54
Есть плагин, который имплименирует интерфейс CommandProvoder и отдаёт композеру объект типа - Comand. После этого возможно запускать Ее так же как запускаешь скрипты. Используя синтаксис 'composer "comand_name" Parma args '

Google
Sergey
16.12.2017
13:02:57
тогда это бери

Alexpts
16.12.2017
13:04:15
тогда это бери
Выглядит с 1 взгляда примерно то что нужно, еще есть аналогичные варианты, чтобы посомтреть и выбрать?

Victor
16.12.2017
13:05:38
у композера нет отдельного понятия как команда
Там разница в том, что скрипты работают только для рут пакета, и для команды можно сделать более строгий контракт.

Aleh
16.12.2017
13:06:27
но про них ничего совсем не знаю(

Victor
16.12.2017
13:06:47
если ты завязываешься на основное приложение, то зачем тебе плагин, почему не scripts
Ну, что бы те кто хотят использовать плагин, не должны были прописывать его как скрипт. Типа более юзер-Френдли. Мол зарекваирил плагин, и все - можешь с ним работать.

У композер что то совсем туго с докой на этот счёт(

Dmitry
16.12.2017
13:07:34
ну т.е. все же ты не завязываешься на приложение, оно любое может быть?

Victor
16.12.2017
13:22:30
Если детальнее - суть плагина в том что бы помочь сконфигурировать приложение. И ему для этого нужно иметь доступ к классам основного приложения.

Sergey
16.12.2017
13:29:32
раз уж за плагины заговорили....

а что если сделать плагин который будет проксировать запросы на кэширующий прокси... ну то есть не как в toran proxy который подразумевает что вы packagist на прокси-репозиторий заменяете, а что бы... вот можно было опционально юзать проксю

Maksim
16.12.2017
13:30:55
а зачем?

Vitalii
16.12.2017
13:31:04
Всем привет! Подскажите, плиз, новичку по такому вопросу. у меня проект на Laravel/Angular2 по api. если мне надо взять картинку для поста с сервака (в базе хранится путь на серваке к картинке) и послать через json на фронт, то что лучше юзать? закодировать картинку в base64, потом на фронте декодировать?

Sergey
16.12.2017
13:31:29
а зачем?
toran proxy офигенно ускоряет install но жестко так замедляет update

хотя может это я чего не так делаю

Google
Maksim
16.12.2017
13:32:25
если так принципиальна скорость, мб стоит вендоров в гит какой-нить левый закинуть целиком?

речь про инсталл, очевидно

Sergey
16.12.2017
13:32:57
если так принципиальна скорость, мб стоит вендоров в гит какой-нить левый закинуть целиком?
не вариант. Мне это надо что бы docker build ускорить. Увы кэш локальный композера не выйдет заюзать

если делать как ты предлагаешь - то мне придется для каждого билда копировать вендоры

это конечно быстрее чем install даже с торан прокси, но вопервых на порядки увеличивается инкрементный размер образов и это влияет потом на время push/pull

Vitalii
16.12.2017
13:33:58
картинки хранятся в файловой системе сервера, а не ссылками на них на сторонний сервер.

Sergey
16.12.2017
13:34:17
почему картинки не доступны по web и зачем их на клиент засылать?

Vitalii
16.12.2017
13:35:40
да у меня небольшой проект, типа новостного блога. и мне над отобразить картинку для поста на клиенте.

Sergey
16.12.2017
13:36:55
Sergey
16.12.2017
13:53:53
Victor
16.12.2017
14:10:23
В общем да, по поводу плагинов и автолоада. Может кому понадобиться. Что бы подгрузить все (и рут пакета и зависимостей) классы, вам нужно используя объект композера через генератор авталоуда собрать packageMap. После этот используя собраный packageMap собрать autoloads. Теперь создавать Loader (используя все тот же autoloadGenerator) и получений loader зарегистрировать через spl_autoload_register.

Victor
16.12.2017
14:24:04
можно ли сделать composer плагин в рамках рутового проекта? ну мол что бы пакет не делать?
Там обязательно должен быть тип у пакета - composer-plugin. Но если сильно хочется - можно сделать хак, и создать плагин в качестве локального пакета внутри твоего рутового.

Sergey
16.12.2017
14:24:38
не, я уже проверил - то что я хочу сделать плагином не сделать(

Victor
16.12.2017
14:25:14
А что ты хотел сделать, если не секрет ?

Sergey
16.12.2017
14:25:31
выше писал - достало ждать пока зависимости в докере поставятся

сейчас думаю в сторону простого http кэша

Google
Sergey
16.12.2017
14:26:02
ну то есть основная мысль - имеющиеся решение работают за счет кастомных репозиториев

аля toran proxy или satis

это прикольно но.... мне не надо update усорять, только install

что-то типа общий кэш для CI

Victor
16.12.2017
14:29:36
А ты хочешь что бы он выборочно решал что загружать из Кеша а что то из пакагиста ?

Sergey
16.12.2017
14:30:18
хм...

сча затещу

надо уточнить что больше всего времени занимает...

скачивание файлов с github или ресолв метаданных

первое я могу быстро зарешать

Admin
ERROR: S client not available

Sergey
16.12.2017
14:45:11
блин, а композер вообще требует какого-то ресолва метаданных при install из lock файла?

Victor
16.12.2017
14:46:39
Ручного в смысле ?

Sergey
16.12.2017
14:47:45
ну в смысле... в теории у композера в лок файле уже все готовенькое

кого качать и откуда

и в итоге остается только кэш http замутить

а это можно готовый поднять

Victor
16.12.2017
14:52:23
Так подожди, смотри композер же умеет подгружать зависимости из своего локального Кеша. Может просто копнуть в эту сторону

Dmitry
16.12.2017
14:52:44
подмонтировать кеш ;)

Sergey
16.12.2017
14:52:54
низя9

Google
Sergey
16.12.2017
14:53:00
подмонтировать кэш(

а плагин не дает возможности заюзать кастомный

вроде

да и зачем

Sergey
16.12.2017
14:54:34
типа того.... вот есть у меня 81 пакет который надо поставить. композер сейчас в docker build потратил на это 477s

Victor
16.12.2017
14:55:21
подмонтировать кэш(
Ты можешь прокинуть кеш композера из CL в контейнер по идее

Sergey
16.12.2017
14:55:36
не могу

ну то есть... могу но тогда надо забить на сборку по Dockerfile

еще думал над кастылями вроде заюзать копирование кэша из другого образа...

Victor
16.12.2017
14:56:03
типа того.... вот есть у меня 81 пакет который надо поставить. композер сейчас в docker build потратил на это 477s
Ты можешь плагином, переопределять downloaded композера, и тогда сможешь сам решать от куда и как загружать пакет

Sergey
16.12.2017
14:56:29
Ты можешь плагином, переопределять downloaded композера, и тогда сможешь сам решать от куда и как загружать пакет
да, могу, а еще я могу поднять тупой http прокси с кэшем который будет кэшить все запросы на codeload.github.com например)

Dmitry
16.12.2017
14:56:29
есть env COMPOSER_HOME ;)

Sergey
16.12.2017
14:56:37
ну есть

а кэша нет

потому что слой свежий создается и подмаунтить ты в контейнер промежуточный (который при сборке образа создается) ты ничего не можешь

если конечно ты не юзаешь кастомный билд докера

как в RHLE например

Sergey
16.12.2017
14:59:09
еще есть вариантик....

плагин подменяющий RemoteFilesystem для PreFileDownloadEvent

Страница 838 из 1387