• Где в настройках phpstorm меняется user?

    27cm
    @27cm
    TODO: Написать статус
    File > Settings... > File and Code Templates > Includes > PHP File header

    bf75e42738c54a39ac3e07c5a0d70f79.png
    Там в шаблоне исправьте на то, что Вам нужно.

    Если хотите совсем убрать, то удалите #parse("PHP File Header.php") в этом шаблоне:
    8cc18bb1a207463f84f62795c877cf75.png
    Ответ написан
    1 комментарий
  • Что означает такая конструкция new class($kernel) extends HttpCache {} в коде ниже?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    На базе класса HttpCache создаётся анонимный класс, в конструктор которого передаётся переменная $kernel, сразу же создаётся экземпляр этого класса (new) и вызывается его метод getStore();
    Ответ написан
    Комментировать
  • Регулярное выражение, php?

    Compolomus
    @Compolomus Куратор тега PHP
    Комполом-быдлокодер
    $str = 'https://www.oddsportal.com/search/:SKbpVP5K/';
    
    echo basename($str); // :SKbpVP5K
    Ответ написан
    Комментировать
  • Как создать файл субтитров .srt?

    BelongToDiE
    @BelongToDiE
    вот есть хороший онлайн-конвертер (txt -> srt) - https://www.subtitle-converter.com/
    Ответ написан
    1 комментарий
  • Как заменить все символы переноса только между тегами?

    @dodo512
    $line = "text <p>text \n\n   \n text   \n text </p> text  \n\n \n text\n";
    $line = preg_replace('#(?:^|</p>).*?(?:\z|<p>)(*SKIP)(*F)|\n#is', '<br />', $line);
    echo $line;
    Ответ написан
    3 комментария
  • Как сделать "постамат", работающий по запросам с сайта?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Для того, чтобы отдать команду замку на открытие дверки, не обязательно использовать связку из ардуины и rpi. Достаточно мелкого контроллера типа ESP8266. У него уже хватит мозгов поддерживать связь с сервером и открывать замок.

    Вы беретесь за большую задачу и хотите решать ее всю сразу. Так вы рискуете утонуть в деталях. Сейчас у вас сделана декомпозиция вида "как на мой взгляд это должно работать".

    Более продуктивна декомпозиция "из каких этапов будет состоять разработка вундервафли".

    Она разбивается на три части:
    1) Железо: ящик с замком, электроника, питание
    2) Серверная инфраструктура - хостинг, домен, SSL, безопасность
    3) Софт, который все собирает в кучу.

    В связи с этим, попробуем упростить задачу до "я хочу включать лампочку кнопкой на сайте". Такая задача содержит в себе связку все тех же кусков из оригинальной задачи и может (путем итераций) быть доведена до исходной задачи.

    Смотрим, что для этой задачи понадобится в плане железа. Это esp-01 - миниатюрный модуль, который способен выйти в интернет. На GPIO2 у него есть светодиод, так что достаточно подать на модуль питание по схеме и закинуть на него простую прошивку на ардуино. (Да, Arduino-ide их поддерживает).

    Итого, нужны esp-01, блок питания на 3.3 вольта (можно две батарейки AA), адаптер USB-UART для прошивки, макетная плата и провода, чтобы собрать все в кучу.

    Пишете прошивку, которая цепляется к wifi, дергает по HTTPS скрипт на сайте и в зависимости от того, что выдал скрипт, включает или выключает GPIO. Таким образом, вы сразу обеспечиваете и минимальный уровень ИБ - никто не сможет подменить ваш сайт и командовать девайсом, для этого нужно будет подделать сертификат HTTPS.

    Полагаю, что сайт и скрипт вы сможете поднять и написать самостоятельно, самый простой хостинг и домен обойдутся примерно в 10 баксов в месяц, а сертификат HTTPS можно взять бесплатный через certbort.

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

    Личный опыт - дома через телеграм-бот управляю бытовой техникой. Все самописаное-самопайное.
    Ответ написан
    7 комментариев
  • ЧПУ Ссылки для php?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{QUERY_STRING} (?:^|&)t\=21(?:$|&)
    RewriteRule ^mydomain\.com/thread\.php$ /mydomain.com/thread/21? [L,R=301]


    Это прям если нужно редирект сделать
    GET не является частью URL и выделяется отдельно. через %{QUERY_STRING}
    так что у вас по идее нужно было сделать так.
    index.php?route=%1
    %1 - это $1 но если ты выделяешь в RewriteCond

    Что же касается ЧПУ

    RewriteEngine On
    Options +FollowSymLinks
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !/index.php$
    RewriteRule ^(.*)$ /index.php [L]

    То я бы добавил еще отрицание самого индекса дабы не создать цикла.

    ps
    ?: не учитывать эту группу не обязательное правило
    Ответ написан
    1 комментарий
  • Какой рекомендуемый размер файла для php-скрипта?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Мерять надо не килобайтами, а строками.

    Технически размер файла не имеет значения, он может быть сколь угодно большим.
    Но вот с точки зрения архитектуры класс размером 300Кб - это ад. Который наглядно показывает, что внутри не ООП, а голимая процедурщина.

    Есть правило 30 - в классе должно быть не больше 30 методов и размер каждого метода не больше 30 строк. Но при этом не надо воспринимать это как догму. Большинство классов должно быть сильно меньше - 3-5 методов по 5-10 строк.

    Но опять же это всё не самоцель и не надо устраивать из этого карго культ, разибвая свои классы на более мелкие чтобы гордиться "я офигенный оопэ программист". Тут на самом деле не размер имеет значение. Просто если ты умеешь в ооп, умеешь декомпозировать и делить ответственность, то у тебя классы и методы сами станут маленькими, отвечающими за четкий строго определенный круг задач.
    Ответ написан
    5 комментариев
  • Как средствами PHP конвертировать XLSX большого размера в CSV?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    PHPExcel уже deprecated, есть PHPSpreadsheet, в нем есть небольшая оптимизация для больших файлов (дока).
    Недавно начали рекомендовать box/spout - там меньше функционала, но лучше справляется с большими файлами.
    Ответ написан
    1 комментарий
  • Порекомендуйте книги по Laravel актуальные на 2020 год?

    Sanes
    @Sanes
    Laravel меняет версии каждые пол-года. Кому интересно заморачиваться с книгами?
    https://laravel.demiart.ru/ переводы статей неплохие вроде.
    Ответ написан
    Комментировать
  • Как правильно читать книги по программированию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    сперва были вопросы "как стать программистом"
    затем вопросы "что читать"
    теперь уже "как читать"
    может скоро будет "как учить алфавит, а то за меня родители пишут на тостере".

    Для книг - читайте простейшие туториалы и сразу практика. Сложные книги - потом, когда в голове уже будет база.

    Добавлю еще момент:
    Почитайте статью megamozg.ru/post/10126
    Там очень понятно указано, что профессиональный навык и боль программиста - гиперконцентрация, которая необходима, чтобы освоить понятия и вещи для профессиональной работы. 40 минут это как-то несерьезно.
    Ответ написан
    3 комментария
  • Почему такое странное поведение in_array?

    0xD34F
    @0xD34F
    Раз:

    Если strict не установлен, то при поиске будет использовано нестрогое сравнение.


    Два:

    В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет преобразована в число, и сравниваться они будут как числа.


    Три:

    Значение определяется по начальной части строки. Если строка начинается с верного числового значения, будет использовано это значение. Иначе значением будет 0 (ноль).
    Ответ написан
    4 комментария
  • Какой шаблон проектирования подходит для плагина WordPress?

    glaphire
    @glaphire
    PHP developer
    Достаточно обычного рефакторинга на уровне "читаемо" и "без дублирования" (с размазыванием на пару классов по необходимости), MVC и паттерны это не ответ на такой вопрос (MVC - потому что это обобщенное понятие и просто притянуто к вебу из другой темы, а паттерн может вырисоваться сам во время рефакторинга, да и границы между некоторыми из них условны).
    Ответ написан
    1 комментарий
  • Укрепить знания PHP велосипедом или через фреймфорк?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Если есть время (магазин Ваш или заказчику не к спеху), я бы посоветовал начать с самообучения построения архитектуры (без кода!).
    Потом - пробуйте её масштабировать, увидите свои "косяки" и будете снова править. И т.д. пока не поймёте логику.

    Всё это - без единой строчки кода!

    Потом, по каждому блоку - делаете также.
    И только потом, когда готова вся логика - пишите код!
    Ответ написан
    8 комментариев
  • Укрепить знания PHP велосипедом или через фреймфорк?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Ответ на такой вопрос тут давали неоднократно.
    Для работы нужны понятные поддерживаемые решения, и разработка на фреймворках это обеспечивает. Вы не сможете навелосипедить на уровне, близком к фреймворку без правильных знаний проектирования кода. Разбирайтесь в существующих подходах, тогда в проекте будет смысл
    Ответ написан
    Комментировать
  • Скорость проверки наличия значения в массиве. Что быстрее?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    в БД быстрее, чем в файле

    тк вам все равно грузить (предположим с одной скоростью) данные
    но потом чтобы искать и работать — с файлами вам нужно будет придумывать свои структуры данных (деревья, хэш-таблицы), алгоритмы хранения данных и вот это все, что уже есть в БД и сделано очень эффективно

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

    Что за перебор значений? Поиск по значению — как раз НЕ перебор, а использование оптимизированных структур и обходов по ним, с индексом будет моментально, даже быстро будет если не 74тыс+, а 74млн+
    Ответ написан
  • Как убрать обфускацию со скрипта?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Господи, когда ж вы кончитесь
    Один приходит "как мне зашыфровать чтобы никто не увидел какой позорный код я пишу"
    Другой "ой как мене это прочитать?"
    И так без конца.

    Программировать научитесь, и не зарьтесь на чужое.
    И никогда вам не понадобится ни обфускация, ни де-обфускация
    Ответ написан
    1 комментарий
  • Подобие next в генераторах PHP?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    <?php
    
    $generator = (function (): \Generator {
      yield 1;
      yield 2;
    })()
    
    var_dump($generator->current());
    $generator->next();
    var_dump($generator->current());

    sandbox.onlinephpfunctions.com/code/f1fad691895685...

    https://www.php.net/manual/ru/class.generator.php
    Ответ написан
    Комментировать
  • Какой плагин выбрать для натяжки готовой верстки на wordpress?

    @loonny
    Я не так часто с WP работаю, но разве WordPress ACF не кастомные поля создает? Причем тут верстка? В любом случае более удобного плагина вы не найдете. Как вариант вы можете установить бесплатную версию и отдельно найти плагин для того что вам нехватает.
    Ответ написан
    3 комментария
  • Какой плагин выбрать для натяжки готовой верстки на wordpress?

    dimovich85
    @dimovich85
    https://u-academy.net/
    Готовую верстку просто плагинами на wp не натянешь, только ручками, или собирать на конструкторах, типа Elementor.
    Ответ написан
    Комментировать