• Как получить доступ к глобальной переменной?

    @Kravalg
    К этой переменной нет доступа, потому что PHP кричит тебе - не используй ты глобальные переменные.
    В 99 случаях из 100 при разработке ты можешь обойтись и без них, поэтому одумайся пока не поздно
    Ответ написан
  • Как загрузить прайс лист по частям?

    @Kravalg
    Раз уж 504 ошибка, это значит, что сервер не успевает за отведенное ему время отдать ответ. Это и немудренно, так как ты при получении данных сразу же их обрабатываешь. Для малого количества данных этот подход уместен, но для больших - нет в чем ты уже убедился.

    Решение, которые позволит тебе обрабатывать данные практически любых размеров:

    1) Скрипт, который принимает данные и обрабатывает их сейчас должен сохранять их(к примеру, в файл) и ставить в очередь на обработку. Теперь твой скрипт не будет улетать в 504, так как ответ будет за считанные миллисекунды.
    2) Следующим этапом будет написание скрипта, который будет получать сообщения из очереди на обработку этих данных. Если размер данных, которые ты получаешь исчисляется в сотнях мегабайтов и больше, тогда перед обработкой этих данных тебе необходимо будет их поделить на части (в случае, если хранилищем ты выберешь файлы).
    3) После того, как ты получишь данные по частям ты можешь их обрабатывать в фоновом режиме

    Я описал общий алгоритм, если не можешь выбрать конкретные технологии - пиши в комментарии, подскажу

    UPD.
    Для обработки больших файлов можно использовать генераторы - статья

    Для запуска фоновых обработчиков можно использовать cron или workers - статья
    Ответ написан
    2 комментария
  • Как правильно использовать кеш браузера?

    @Kravalg
    Браузер будет кэшировать или не кэшировать файлы, которые ты укажешь в заголовках. Укажешь ты их с помощью php или htaccess - неважно. Важно их задать наиболее удобным для тебя образом исходя из поставленной задачи.

    Нужно динамическое изменения сроков кэширования и типов файлов?
    Используй отправку заголовков из php с помощью функции headers();.

    Нужны статические правила, изменение которых будет редким?
    Используй правила для htaccess:
    habrahabr.ru/sandbox/55709

    Вот так можем проверить заголовки
    highloadtools.com/cachecontrol
    Ответ написан
    Комментировать
  • Нужно ли использовать связи в таблицах MySQL, если используешь ORM?

    @Kravalg
    Дело в том, что, как и говорили все ответившие, следить за целостностью данных можно как программно, так и с помощью конструкций баз данных. Как думаете предпочтительнее использовать нативные решения в продуктах либо дописывать отдельным кодом?

    Я думаю, что ответ очевиден. За целостностью данных должна следить БД.
    Ответ написан
    Комментировать
  • CMS, фреймворк или чистый PHP?

    @Kravalg
    Советую использовать Фреймворк - и времени немного затратишь и опыта получишь. А CMS - это сделать сайт на скорую руку, с минимальным опытом. Чистый php вообще отпадает сразу, так как слишком много лишних телодвижений.

    Советую свои проекты писать на чистом php, используя паттерны проектирования. Напиши свою cms/framework. Очень полезная штука в плане опыта. Но времени уйдёт уйма.
    Поэтому :
    - нужно создать сайт быстро - cms. Так работают веб-студии. Быстро и дёшево.
    - нужно создать сайт и заниматься его дальнейшей поддержкой и разработкой не один год - Framework однозначно.
    - создаёшь сайт для себя и в целях обучения - чистый PHP.

    И в конце тебе дам ссылочку очень полезную. Там ты узнаешь обо всем, что нужно хорошему разработчику.

    getjump.me/ru-php-the-right-way
    Ответ написан
    Комментировать
  • Установил скрипт на php, не могу залогиниться, в чем проблема?

    @Kravalg
    Посмотри на этот код и запомни как делать не нужно.
    Ответ написан
    Комментировать
  • Ребята нужна помощь, с выводом данных из MySQL, PHP?

    @Kravalg
    Да не видимо, а в 90% случаев это ошибка в запросе.
    Для выявления причины неработающего кода достаточно после выполнения запроса написать:
    mysqli_error ( mysqli $link );

    Подробная информация:
    php.net/manual/ru/mysqli.error.php
    Ответ написан