Ответы пользователя по тегу PHP
  • Выбор для backend GO или PHP?

    Dejurin
    @Dejurin
    Software engineer
    Добавлю свои 5-коп.
    Стал вопрос переписать веб-сайт на с PHP на Go. Все потому, что сайт обновляется каждую минуту, генерируется "на лету", имеет много языковых версий, и в целом очень много страниц. При обходе гугл роботом сайт начинает тормозить.
    Так как сайт динамический, PHP обрабатывает Frontend и Backend, генерирование страниц на PHP затея дорогостоящая. Если бы PHP обрабатывал только Backend оставил бы как есть.

    Вывод: если вам нужно получить много req/sec (Frontend и Backend) я бы все таки выбрал Go (AERO, GIN), если только Backend PHP достаточно (Phalcon или какой-то роутер фраймворк).

    На заметку: PHP Micro & Router Framework Benchmark
    Ответ написан
    Комментировать
  • Почему PHP7 работает медленнее?

    Dejurin
    @Dejurin Автор вопроса
    Software engineer
    Да, скорее всего этот тест какая-то дичь. Вот что произошло по тестам на DO капля - 64 GB 32 vCPUs $640/mo

    spoiler
    --------------------------------------
    | PHP BENCHMARK SCRIPT |
    --------------------------------------
    Start : 2018-07-31 19:27:13
    Server : @
    PHP version : 7.2.8
    Platform : Linux
    --------------------------------------
    test_math : 0.211 sec.
    test_stringmanipulation : 0.282 sec.
    test_loops : 0.171 sec.
    test_ifelse : 0.143 sec.
    --------------------------------------
    Total time: : 0.807 sec.
    Ответ написан
  • Какую ОС изучать PHP программисту?

    Dejurin
    @Dejurin
    Software engineer
    Мне кажется это тот случай когда ОС не имеет значение.
    Работаю на OSX, продакшн на CentOS.
    Если уж на то, пошло просто работайте на unix подобных ОС
    Ответ написан
    Комментировать
  • Достать все из Memcache?

    Dejurin
    @Dejurin
    Software engineer
    /**
     * @ param string $server
     * @ param int $port
     * @ param int $limit
     * @ return array
     */
    public function getMemcacheKeys ($server, $port, $limit = 10000)
    {
        $keysFound = array();
    
        $options = $this->_options;
        $server = $options['servers'][0];
        $memcache = new Memcache;
        $memcache->connect($server, $port = 11211, 5);
    
        $slabs = $memcache->getExtendedStats('slabs');
        foreach ($slabs as $serverSlabs) {
            foreach ($serverSlabs as $slabId => $slabMeta) {
                try {
                    $cacheDump = $memcache->getExtendedStats('cachedump', (int) $slabId, 1000);
                } catch (Exception $e) {
                    continue;
                }
    
                if (!is_array($cacheDump)) {
                    continue;
                }
    
                foreach ($cacheDump as $dump) {
    
                    if (!is_array($dump)) {
                        continue;
                    }
    
                    foreach ($dump as $key => $value) {
                        $keysFound[] = $key;
    
                        if (count($keysFound) == $limit) {
                            return $keysFound;
                        }
                    }
                }
            }
        }
    
        return $keysFound;
    }
    Ответ написан
  • Как связать php и html?

    Dejurin
    @Dejurin
    Software engineer
    Советую начать с азов.
    Отвечу на ваши вопросы:

    1. Как сделать чтобы считывал что в input,
    www.w3schools.com/php/php_forms.asp
    2. как вообще сделать переменную
    <?php
    $foo = 'bar'; // переменная
    ?>
    Ответ написан
  • Как вывести древовидные комментарии?

    Dejurin
    @Dejurin
    Software engineer
    Недавно столкнулся с таким же вопросом, прочитал массу статей и рекомендаций, даже тут вопрос мой удалили )
    провел свои тесты и пришел к выводу, что в данной связке mysql+php с этим справится сам PHP
    вот статья techathon.mytechlabs.com/hierarchical-tree-comment...
    Я знаю одно из правил, что то, что может сделать база не нужно грузить php, но в данном случае эта рекурсия не так уж страшна, более того mysql не может сделать то о, чем вы просите, без костылей.
    Я провел простенький тест: сгенерировал около 1м записей (комментарии) и создал ветку с 300 комментариями (уровень вложенности был до 5), нагрузил страницу простенькой утилиткой "ab -n 500 -c 10000" в и понял, что овчинка выделки не стоит, PHP прекрасно справился с задачей.
    Рабочий пример находится и успешно юзается на рабочем сайте с 60к аудиторией в сутки и все ок.
    3f559daf58204afd93e023ed4feaa374.png
    Ответ написан
    Комментировать
  • Как отобразить нужный фрагмент на сайте в зависимости от get запроса?

    Dejurin
    @Dejurin
    Software engineer
    Лучше используйте if условия, работают быстрее, чем switch
    Ответ написан
    2 комментария