Ответы пользователя по тегу PHP
  • Как распарсить json?

    kotcich
    @kotcich
    Я скучный.
    $json = file_get_contents('application.json', true);
    $data = json_decode($json, true);
    $Name = $data[0]['Имя'];
    print $Name;
    Ответ написан
  • Как вернуть в json?

    kotcich
    @kotcich
    Я скучный.
    file_put_contents(path, json_encode(array));
    Ответ написан
    Комментировать
  • Как в $_POST записать переменную?

    kotcich
    @kotcich
    Я скучный.
    $_POST['test' . $id];
    // или
    $_POST["test$id"];

    Второй способ медленнее первого, так как в php кавычки имеют значение.
    Ответ написан
    Комментировать
  • Json_encode и file_get_contents php?

    kotcich
    @kotcich
    Я скучный.
    json_decode(file_get_contents('path'), true);
    Ответ написан
    Комментировать
  • Как создать чат?

    kotcich
    @kotcich
    Я скучный.
    WebSocket'ы. Далее гугл в помощь. Но если коротко, то в каждом фреймворке сокеты представлены в виде расширения, которое нужно устанавливать отдельно с помощью компоузера. Далее уже чекайте документацию этого расширения: установку, базовый пример, все функции и тд и тп. Может быть, что у самого фреймворка предоставлена данная технология со старта, это вы уже в react смотрите.
    Ответ написан
  • Вывести echo на главную страницу сайта?

    kotcich
    @kotcich
    Я скучный.
    echo '<div class="form-block-error"><b>incorrect password</b></div>';
    Ответ написан
    Комментировать
  • Что быстрее: file_get_contents к json файлу или запрос к бд?

    kotcich
    @kotcich Автор вопроса
    Я скучный.
    Крч, если коротко, то в задачах, где происходит частое обращение к бд(ну я лично так думаю, не бейте), выгоднее использовать json файл.
    Я использовал php функцию microtime, записывая в переменную ее значение вот так $time=microtime(true), первой строчкой в методе контроллера, далее выполнял код и самой последней строчкой ритернул return round(microtime(true) - $time, 4);, таким образом замеряя исполнение кода с округлением в 4 символа после запятой.
    Вот пример всего кода в метода:
    public function actionIndex()
        {
            $time = microtime(true);
    
            $user = User::findOne(['username' => 'www']);
            $user->username = 'www';
            $user->update();
    
            $json = json_decode(file_get_contents(__DIR__ ."/../../common/models/test.json"), true);
            $json['b'] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            file_put_contents(__DIR__ . "/../../common/models/test.json", json_encode($json));
    
            return round(microtime(true) - $time, 4);
        }

    Как вы понимаете, либо обращение к бд, либо обращение к файлу было закомментировано. Ну и для чистоты эксперимента я не просто получал данные из бд или файла, но и делал какую то обработку, селектил и менял значение поля модели, а потом делал updated(), либо менял значение объекта по ключу в файле. Так же стоит заметить, что при работе с файлом я использовал json_encode() и json_decode(), так как в реальной задаче вам вряд ли будет нужный чистый json.

    Теперь к цифрам:
    Среднее значение занимаемого времени при работе с бд, это - 0.850, а вот время исполнения получения и перезаписи файла зависит от его объема. Я судил не по кб, а по кол-ву символов в файле, так как IDE показывает это. И дело в том, что json файл с 1 млн символов, запись с декодом, смена какого то значения и потом перезапись с инкодом занимает в среднем 0.100. Другими словами 1 млн === 0.100.
    Когда файл имел символов 200, то вся операция занимала в 100 процентах случаев 0.002.

    Будут вопросы, пишите.
    Ответ написан
    Комментировать
  • Чат + видео чат на laravel?

    kotcich
    @kotcich
    Я скучный.
    WebSocket загугли. Во фреймворках они обычно не реализованы стандартным функционалом, скорее всего нужно найти подходящее расширение на ваш фреймворк.
    Ответ написан
    Комментировать
  • Как вставить гугл карту в разметку удаленно?

    kotcich
    @kotcich Автор вопроса
    Я скучный.
    Комментировать
  • Phpinfo() выдает Configuration File (php.ini) Path "no value", в чем проблема?

    kotcich
    @kotcich Автор вопроса
    Я скучный.
    Решил, если у кого то будет подобная ошибка (так же проблема с подключением mysqli? может быть).

    У вас в папке с используемой версией php будет 2 файла php.ini (development/production), так вот оба эти файла (и это не интуитивно, для новичка может вызвать сложность), по факту имеют расширение не .ini, а .ini-development/production соответственно.
    То есть, вот эти названия через дефис по факту название расширения целиком. Php же нужен обычный .ini файл.

    Решение:
    Откройте .ini-development -> сохранить как -> название не меняйте -> в строке "тип файлы" выбрать ".Ini" (visual studio code почему то пишет его с большой буквы, не суть) -> сохраняете.

    По итогу у вас будет 3 файла, тот что вы только что сохранили(уже полноценный и он будет виден) и development/production файлы (их больше не трогайте). Теперь для внесения изменений (в настройки сессий например) открывайте именно настоящий .ini файл.
    Ответ написан
    Комментировать