Ответы пользователя по тегу PHP
  • Как организовать првильное кеширование сущностей в Doctrine 2?

    @myLizzarD
    PHP developer
    К сожалению запросы будут производится всегда, так устроена doctrine, ей необходимо сделать дозапрос сущности, чтобы знать о ее отношениях с другими сущностям. Как она может вернуть вам children-ов, если не знает, есть они у этой сущности или нет?
    Ответ написан
    Комментировать
  • Как организовать очередь API запросов в PHP?

    @myLizzarD
    PHP developer
    Почему бд не решает вопрос очередности? Записывается в бд скрипты в очередности запуска. Потом пишите скрипт, который проверяет, если ли записи на выполнение в бд, если есть - берет запись и запускает соответствующий скрипт, выставляя в бд флаг, например, is_executed, в true. И по крону можете каждую минуту запускать этот срипт.
    Ответ написан
  • Как на php генерировать файл?

    @myLizzarD
    PHP developer
    Все что вам нужно сделать:
    1) в Вашем шаблоне-файле в место $title и $text ставите, например, {{title}}, {{text}}.
    2) в месте, куда приходят данные формы, т.е. Ваши переменные, вы заменяете текст вот так
    $filename = "$name.html"
    $fileText = file_get_contents($filename);
    $newFileText = str_replace("{{title}}", $title, $fileText);
    $newFileText = str_replace("{{text}}", $text, $fileText);
    file_put_contents(newFileText, $newFilename)

    что-то вроде шаблонизатора. Теперь ваш файл содержит данные, введенные пользователем, все что осталось - отправить их
    3) отправляете файл одним из указанных в статье способов способы.
    4) если хотите отдать только 1 раз, то вам нужен такой способ
    $filename = "$name.html"
        $fileText = file_get_contents($filename);
        $newFileText = str_replace("{{title}}", $title, $fileText);
        $newFileText = str_replace("{{text}}", $text, $fileText);
        if (ob_get_level()) {
            ob_end_clean();
        }
        // заставляем браузер показать окно сохранения файла
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename=' . basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        echo $newFileText;
        exit;


    Код написан с целью показать способ и не претендует на универсальность.
    Ответ написан
    Комментировать
  • Хранение JSON в реляционных БД?

    @myLizzarD
    PHP developer
    Есть смысл иногда хранить JSON в некоторых ситуациях, но таким случаем очень мало.
    А вдруг вы захотите сделать позже поиск по комментариям, или по фотографиям. Что будете делать?
    В вашем случай однозначно необходимо разделить все это в разные таблицы. Сделать 1 дополнительный запрос по ключу( вытянуть фотографии) - это и нагрузкой то не назовешь для бд.
    То же самое и с комментариями.
    Ответ написан
    4 комментария
  • Как сгруппировать многомерный массив по ключу?

    @myLizzarD
    PHP developer
    Вы можете просто отсортировать таким образом.
    $data = array(...);
    $sortedData = array();
    foreach($data as $row) {
       $sortedData[$row['group']][] = $row['user'];
    }
    Ответ написан
    5 комментариев
  • Как установить Phalcon + Nginx + PHP-FPM+ база?

    @myLizzarD
    PHP developer
    какой смысл вам подсказывать, если вы выполните инструкции и забудете. А потом при возникновении каких-нибудь проблем, например обновить mysql или установить php-расширение - побежите на форум. Вам самому должно быть это противным, если вы программист. Нужно просто уделить 1 день на какой-нибудь видео урок "как работать с linux-системой". Это вам пригодиться не раз.
    Ответ написан
    Комментировать
  • Ценится ли IT-специалист, который умеет все?

    @myLizzarD
    PHP developer
    Такие люди нужны в основном маленьким конторам, у которых не хватает средств иметь и пачку программистов, и сеошников и тд. Для таких контор вы - идеальный работник. Но тут нужно учитывать, чтобы быть полезным во всех областях сразу - нужно очень много времени + много времени, чтобы поддерживать знания на актуальном уровне. Проще выбрать 2-3 направления, в которых хотите развиваться.
    Ответ написан
    Комментировать