• Есть ли библиотека для composer для сравнения схожести строк?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    Комментировать
  • Как сделать, чтобы программы, требующие root'а автоматически спрашивали его пароль?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Если неудобно из терминала - значит графика есть. Есть есть графика, значит можно ярлыки создавать на рабочем столе. А в ярлыке можно указать, что программ а выполняется от другого пользователя.
    Ответ написан
    Комментировать
  • Какой мультиметр купить с защитой от дурака?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Как правило, хорошая защита по входам в мультиметрах сочетается с автоматическим выбором предела и считается не элементом защиты от дурака (это тривиально), а признаком более высокого класса аппаратуры.
    Что же касается защиты от него, родного, то могу посоветовать такой аппарат - HoldPeak HP-890CN, в котором она реализована конкретно: при установке переключателя в определённое положение специальные шторки открывают только те гнёзда для щупов, которые годятся для этого типа измерений, и наоборот - если щупы вставлены, то в неподходящие положения переключатель поставить не удастся.
    Дополнительный бонус этого мультиметра - повышенная точность: край шкалы у него 5999 в отличие от привычных всем нам 3,5 разрядов (1999). Ну и разумеется, автоматический выбор предела. Пользуюсь им уже полгода и не нарадуюсь. Покупал на Али с некоторыми сложностями (продавец пытался запудрить мне мозги).
    Ответ написан
    7 комментариев
  • Как использовать get параметры в route anotations sf2?

    e_svirsky
    @e_svirsky
    Web Developer
    Мне кажется или у вас тут лишние скобки:
    {{ path('searchMedia', ({tagName: tag.name,param1:"value1",tagId:"100500"})) }}

    Должно быть так:
    {{ path('searchMedia', {tagName: tag.name,param1:"value1",tagId:"100500"}) }}
    Ответ написан
    1 комментарий
  • Symfony2 права доступа к функционалу сайта. Какие механизмы использовать?

    @GrizliK1988
    Можно еще сделать примерно следующим образом:

    1. Добавить фабрику, которая будет возвращать одну из 2х форм (с капчей или без), причем форма с капчей будет наследоваться от формы без капчи.
    2. Данная фабрика уже будет сама решать что отдать пользователю либо на основе security.authorization_checker->isGranted (что потребует создание Voter), либо на основе конфигурации бандла.

    Тем самым контроллер не будет содержать лишней для него логики (правило 5-10-20 symfony.com/doc/current/best_practices/controllers...
    Ответ написан
    Комментировать
  • Symfony2 права доступа к функционалу сайта. Какие механизмы использовать?

    by25
    @by25
    Веб-разработчик
    Проверять в контроллере валидность значения капчи - нормальная практика.

    Если используются стандартные формы, то в FormType можно передать опцию вида "show_capcha" и в buildForm() иходя из значения "show_capcha" показывать поле капчи или нет.
    Ответ написан
    4 комментария
  • Symfony2 права доступа к функционалу сайта. Какие механизмы использовать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ну вот там где выводите и решайте. И где проверяете... Где удобно там и можно. В симфони есть встроенные проверки аля isGranted
    Ответ написан
    Комментировать
  • Как правильнее реализовать получение данных со стороннего API?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    >Как правильнее обращаться к сторонниму API
    Лучше всего, сделать сервис, в котором будет ваш код связи с-чем-угодно. А в самом приложении использовать сервис, как высокоуровневый элемент. Если вы видите, что этот код может в будущем будет использоваться в разных проектах, то тогда есть смысл вынести в отдельный бандл. Я не вижу большого смысла разделять один проект на разные бандлы (разве что специально сделать их очень слабо связанными).
    Почитайте мой ответ в другом вопросе.

    >как дополнять либы новым функционалом?
    Форкнуть либу, дополнить вашим кодом, и подключать ваш форк. Это общее правило, не только для Symfony, и не только composer. Иначе, если автор библиотеки выпустит новую версию (новую функцию или исправление бага), то ваше изменение будет конфликтовать с новой версией либы.
    Ответ написан
    Комментировать
  • Как правильнее реализовать получение данных со стороннего API?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    я опущу свою тираду по поводу бандлов в рамках одного приложения (должен быть только один бандл - AppBundle, остальное нужно только для реюзабельных вещей. Если вы не можете реюзать ваше решение то нет смысла запирать это в бандле), сосредоточусь на контроллерах.

    Как вы написали, контроллеры должны обрабатывать HTTP запросы, вот пусть они этим и занимаются. Берут запрос, забирают и обрабатывают данные, просят сервисы что-то сделать (а не делают сами) и потом выплевывают результат работы этих сервисов наружу.

    API инстаграма это хранилище данных и только. Для работы с хранилищами существует шаблон "репозиторий". То есть мы делаем маленький сервис, который будет работать с API, а всему остальному коду и дела нет откуда эти данные берутся. Если вам надо будет добавить кеширование ответов API -можно завести сервис-декоратор, ну и т.д. Ну и для взаимодействия с самим API есть море готовых решений вплодь до готовых клиентов к инстаграму. Ваша задача все это дело закрыть фасадом, красивым интерфейсом через который ваши задачи решаются просто. Таким образом мы сокроем для приложения все сложность доставания картинок и т.д.

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

    А еще было бы неплохо попрактиковать TDD но это если вам позволяет время. Вообще настоятельно рекомендую перейти на практику TDD (почитайте Кента Бэка на эту тему).

    И еще говорят, что считается правка composer библиотеки напрямую изменяя код в vendor не хорошим, как дополнять либы новым функционалом?


    Все что в vendor должно оставаться неприкосновенным. Если вы хотите расширить функциональность вы должны обернуть чужую штуку в свою, или реализовать интерфейсы предоставленные чужой штукой... ну короч расширять можно путем декорирования и... в случае с плохими библиотеками - наследованием. Ну и еще вариант - пул реквесты но это только если вы уверены что эта функциональность нужна не только вам.
    Ответ написан
    Комментировать
  • Как возвращать нескольких json за один веб запрос?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Каким образом возможно отправив один ajax получать данные и сразу же их обрабатывать, не дожидаясь окончания запроса?

    Вы ищите websockets. Но там есть куча нюансов.

    т .е я хочу получать json массивы(ссылки на фото) и сразу же их выводить в рамках одного запроса

    В чем проблема то? Оборачиваете в некую коллекцию и ее уже ее сериализуете в json.

    на сервере крутится php - codeigniter.

    NO! Не тыкайте труп палкой, пусть уйдет достойно.

    не хочется пулять много ajax на запрос за каждой порцией данных.(из-за постоянных переоткрываний соединений с дб ,перезагрузки ядра фреймворка и т.д ,)

    Вы пытаетесь решить надуманную проблему методом, который ее не решит.
    Нагрузка с БД как правило снимается за счет:
    * настройки индексов
    * оптимизации запросов
    * кэширования.
    ...

    ...хочется чтоб все обработывалось одним процессом на сервере

    Круто, зачем вам php тогда?

    в сторону какой технологии смотреть, подскажите composer библиотечку и т.п?

    Как минимум:
    * SOLID
    * PSR-2,3,4,7
    * Symfony / Silex
    Ответ написан
    3 комментария
  • Как возвращать нескольких json за один веб запрос?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) выкинуть codeigniter и переписать все на reactphp
    2) вместо того что бы выдумывать наркоманию не парьтесь и делайте как все, stateless апишки и все такое. keep-alive минимизируют расходы на установление http соединения, а для оптимизации работы с базой можно просто использовать persistent connections и тд.
    3) выкинуть codeigniter и переписать на любом фреймворке использующим PSR-7 или symfony/httpkernel, вооружиться php-pm.
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать в моем случаи?

    @DenKapone
    Такая специальность, а вас на PHP тянет пфф.... Учите С++ раз вы учитесь, это серьезный язык и это программа, а уже PHP, Python, Java, JavaScript факультативно по интересу, в свободное время. У вас первый курс, пока вы доучитесь у вас ещё 300 раз поменяется мнения, желания и хотения, как бы потом не пожалели.
    Ответ написан
    4 комментария
  • PHP/Yii2: как ускорить выполнение ~1 млн запросов подряд?

    @PapaStifflera
    Родился, вырос...
    Используйте очереди.
    Ответ написан
    Комментировать