• Что быстрее mysql, mysqli или pdo?

    fonclub
    @fonclub
    php developer
    Php 7 мне явно не нужен, не вижу смысла

    А вот насчёт перехода на php 7 стоит подумать. Прирост в производительности впечатляющий, посмотрите тесты. Так что смысл в этом есть.
    Ответ написан
    Комментировать
  • Нужен ли web-сервер кроме Nginx для простого сайта?

    @marataziat
    Джангист-тракторист
    Nginx это как бы "щит" для приложений, он сделан чтобы работать с нагрузками сети, фильтрация дос атак, кеширование статики, распределение нагрузки итд!

    За nginx обычно стоит само приложение например в питоне wsgi, или для php - php-fpm. В самих приложениях не думают о сети, дос атаках итд поэтому используют nginx который защищает их от таких вещей.

    Если в вашем случае нету какого-то приложения на php или питоне то использование nginx для статики - самое правильное решение!
    Ответ написан
    Комментировать
  • Нужен ли web-сервер кроме Nginx для простого сайта?

    Sanes
    @Sanes
    В вашем случае достаточно Nginx.
    Ответ написан
    Комментировать
  • Как лучше указывать локаль?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Первый вариант удобен тем, что выбранную локаль можно убрать в куку/в сессию/ещё куда-то, и потом прозрачно использовать. А если использовать эту ссылку только для переключения между языками - так вообще удобно, плюс можно можно использовать уже настроенные приоритеты по языкам в браузере.

    Второй вариант удобен для веб-пауков поисковых машин и прокси серверов. Но пользователям по этим ссылкам ходить недобно, они будут попадать на конкретный фиксированный язык, не зависящий от приоритета языков в браузерных настройках.
    Ответ написан
    4 комментария
  • Как перенаправить все ссылки такого вида?

    @dodo512
    Если нужен редирект с кодом 301.
    RewriteCond %{QUERY_STRING} (?:^|&)wordfence_lh=
    RewriteRule ^ /404.php? [R=301,L]


    Если нужно внутреннее перенаправление.
    ErrorDocument 404 /404.php
    
    RewriteCond %{QUERY_STRING} (?:^|&)wordfence_lh=
    RewriteRule ^ - [R=404,L]


    Или
    RewriteCond %{QUERY_STRING} (?:^|&)wordfence_lh=
    RewriteRule ^ /404.php? [L]
    Ответ написан
    Комментировать
  • Возможно ли переопределить статический метод?

    Adamos
    @Adamos
    static public function method($parameter1, $parameter2 = null) {
      if($parameter2 === null) {
        // your first method code
      } else {
        // your second method code
      }
    }
    Ответ написан
    2 комментария
  • Как найти часть строки после "@", и вместе с @ взять в тег?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    <?php
    
    function replaceLogic($match) {
        return "<tag>$match[0]</tag>";
    }
    
    $input = 'Вот арбуз - @ho_ho_ho какой-то текст @ho_ho_ho2';
    $output = preg_replace_callback('/@[0-9a-z_]+/u', 'replaceLogic', $input);


    Живой пример
    Ответ написан
    Комментировать
  • Как вывести данные из json в php страницу?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    $json = '{"servers":{"www:19132":{"ping":0,"names":[""],"motd":"aMCraftf.pw lv3.0 bvk.com\/mcraft_pw","type":"SMP","game":"MINECRAFTPE","version":"v1.14.0","plugins":"PocketMine-MP 3.11.4: ItemCloud 1.3.1; MineReset 3.3.0; FormAPI 1.3.0; SkyBlock 3.0.0; MultiWorld 1.5.2; AllSigns 1.0.12; WelcomeMessage 1.0.0; BuilderTools 1.2.0-beta2; MapImageEngine 1.1.3; AutoMineReset 0.3.4; PurePerms 1.4.2; DevTools 1.13.5; CompassXYZ 1.0; ChatMuffler 1.0.2; EconomyPShop 2.0.3; Broadcaster 1.5; MOTDShuffle 1.1.7; essentialsTP 1.2.2; BadWordBlocker 1.2.8; SimpleAuth 2.1.3; KillHealth 1.0.0; LightningDeath 1.0.1; StarterKit 1.0.1; MysteryCrate 9.1.1; Parkour 1.5.7; Texter 3.4.4; AuthUI 1.0.0; Slapper 1.5.2; SexGuard 1.1.9; Jail 1.3.0; PiggyCustomEnchants 2.0.4; PureEntitiesX 0.6.3; ScoreHud 5.1.1; MSpawns 2.2; AdvancedJoin 1.1.0; EconomyAPI 5.7.2; PureChat 1.4.11; AdvancedKits 5.3.0; EconomySell 2.0.10; KillMoney 1.0.0-stable; CustomShopUI 4.0.5; PiggyCustomEnchantsShop 1.3.1; EconomyLand 2.1.2; EconomyJob 2.0.5; PlayerHead 1.3; MagicTelePortal 1.3.5; TopMoney 1.0.0; KisayolTP 2.5; FloatingText 1.0.0; SlapperRotation 1.2.1; ExampleUI 1; PCFly 3.0.0; TicTacToe 0.1.5; MiniBosses 2.0.2; 1vs1 1.0.1; VanishV2 1.4; FactionsPro 1.3.20; SkyWars 1.2.0; SkyWars-Reward 1.1.2","map":"Castle","online":"0","slots":"200","status":"online","address":"191.168.0.01:19132","percent":0}},"online":0,"slots":200,"percent":0,"timerec":"25 \u044f\u043d\u0432\u0430\u0440\u044f \u0432 13:53","record":942,"recordday":0,"timerecday":"01:22"}';
    json_decode($json, true)['online'];
    json_decode($json, true)['record'];

    Документация на json_decode.
    Ответ написан
    2 комментария
  • Как сделать уникальные описания товаров?

    Grinvind
    @Grinvind
    Помогаю увеличивать трафик с поисковых систем
    Не согласен с предыдущим комментарием.
    1. Проверьте в вордстате, есть ли спрос на товары.
    1.1. Если его нет, то вообще забейте на этот вопрос и можете протестировать закрытие страниц товаров тегом noindex, я встречал кейсы, когда это улучшало ранжирование листингов.
    2. Если спрос есть, нужно действовать в зависимости страницы уже индексируются или только планируется к релиз.
    2.1. Если страницы индексируются, проверить в кабинетах Вебмастеров поисковых систем количество товаров в индексе. Там же посмотреть на причины не индексации. Если все страницы в индексе, то переходите к следующему шагу.
    2.2. Если страницы ещё не открыты к индексации и нет данных о том, какое количество из них в индексе, посмотрите как реализованы карточки товаров у конкурентов. Возможно найдёте что-то полезное.
    3. Улучшение ранжирования карточек с помощью текстовой генерёжки. Что в Яндексе, что в Google, уникальность текста не самый главный фактор ранжирования)
    Но придание уникальности может сыграть в плюс. Как это можно сделать? Текстовая уникальность текста в поисковиках считается по шинглам (отдельный элемент текста, состоящий из нескольких подряд идущих слов). Это если коротко и не вдаваясь в подробности про смысловую уникальность.
    Следовательно, чтобы уникализировать текст, сделайте шаблон из пары предложений, в котором будут перемножаться синонимы и меняться местами предложения.
    Текст берите исходя из характеристик товаров. Как пример, посмотрите на сайте https://autoreshenie.ru/ при выборе любых параметров в конце листинга появляется сгенерированный текст.
    Ответ написан
    2 комментария
  • Как сделать уникальные описания товаров?

    qant
    @qant
    programer
    Для большого количества товаров с одинаковым пусть даже только вами написанным описанием это будет лотерея. Само по себе значимость страницы товара в глазах поисковика низкая, так что оставляйте как есть, но для самых значимых товаров делайте ВСЕ руками. И заголовки, и описание и фото + описание к ним. Таким образом вы повысите шансы на появление в выдаче именно этого товара.

    С остальными, получиться так, остальные будут дубликатами и не будут появляться в выдаче.

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

    У яндекса и гугла по разному, но примерно схоже.

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

    Только на страницы с уникальным описанием, или страницы категорий стоит лить весь трафик с рекламы и ссылки так же должны вести не на страницы товаров, а на страницы категорий.

    (при условии что на сайте множество категорий и в каждой по 1000 товаров и более). Для мелких или молодых сайтов все это может отличатся, сео достаточно скользкая тема что бы что то утверждать или гарантировать...
    Ответ написан
    Комментировать
  • Нужна помощь - распарсить сайт с целью получения данных?

    @KraydenSharp
    Senior RegExp Developer
    Ответ написан
    Комментировать
  • Keepalived. VRRP. Будет ли работать Keepalived, если 2 сервера в разных ЦОД?

    gecube
    @gecube
    системный администратор, программист... все дела..
    Нет, keepalived не будет работать в разных ЦОД. Но есть исключение - если сделаете L2VPN или типа того.

    Рассмотрите более продвинутые варианты обеспечения отказоустойчивости (вроде BGP анонсов, либо закройтесь внешним прокси вроде Qrator/cloudflare). И ОБЯЗАТЕЛЬНО ПРОКОНСУЛЬТИРУЙТЕСЬ с сотрудниками ЦОД - они наверняка хорошо знают свою инфраструктуру и могут предложить варианты (например, плавающий между ЦОДами IP адрес, если ЦОДы принадлежат одному владельцу)
    Ответ написан
  • IE11 не видит классы начинающиеся с "--". Как исправить?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Двойной дефис используется в кастомных свойствах (css-переменных)
    Крайне не рекомендуется использовать классы, начинающиеся с двойного дефиса.

    ЗЫ.
    Почему бы не использовать БЭМ по-человечески, как все?
    <p class = "title title_size_big">
    </p>

    во-первых, никаких конфликтов,
    во-вторых, другим разработчикам не придется ломать голову, что же здесь, бл,ть за БЭМ такой...
    Ответ написан
    7 комментариев
  • Как выбрать специализацию в ВУЗе программисту?

    tumbler
    @tumbler
    бекенд-разработчик на python
    Одна моя знакомая с ВМиК МГУ рассчитывает аэродинамику в Ferrary для F1, другая - делает свадебные прически :) знаю оттуда пару музыкантов и священника. Так что читайте про все предметы на википедии, находите себе "любовь на всю жизнь" среди них, либо ищете специализацию, которую будет возможно закончить, не поехав кукухой от теории. А после выпуска - идёте работать туда, где ваши знания ну вот вообще не пригодятся, т.к. к моменту начала их использования они конкретно так устареют.
    Ответ написан
    1 комментарий
  • Как сравнить даты такого формата в php?

    mahmudchon
    @mahmudchon
    https://www.php.net/manual/ru/function.strtotime.php
    <?php
    $date_1 = '02.02.2020';
    $date_2 = '10.02.2020';
    $diff_sec = strtotime($date_2) - strtotime($date_1); // 20991600 sec.
    $days = intval($diff_sec / (60 * 60 * 24)); // 8 days
    if($days > 7) {
        // что-то делаем
    }
    Ответ написан
    1 комментарий
  • Насколько надёжен такой способ контроля?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    А какая проблема с запросом? Код начинает что ли адски тормозить, когда игрок получает новый уровень?
    Нет, не начинает? Ничего не трогай.
    Ответ написан
    Комментировать
  • Как обработать переменные внутри регулярного выражения?

    @KraydenSharp
    Senior RegExp Developer
    В ситуациях, когда необходимо обработать вхождения регулярного выражения функцией, используют preg_replace_callback
    Ответ написан
    5 комментариев
  • Как разделить принятый текст на?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    regex
    Ответ написан
    Комментировать
  • Регулярные выражения. Как посчитать количество значений разделенных символом?

    @KraydenSharp
    Senior RegExp Developer
    Есть такой способ.
    $xR = preg_match_all("/[^,]+/",$data_point[2],$regD);

    В этом случае не будут учитываться пустые значения.
    Ответ написан
    4 комментария