Ответы пользователя по тегу Веб-разработка
  • Стоит ли учить Python после PHP?

    @a_ovchinnikov
    Web developer
    Конечно стоит!

    Когда работаете с одним языком и не смотрите вокруг, то очень быстро начинаете мыслить только в пределах этого самого языка. Тем более сейчас, когда все уходят от монолитных приложений в сторону сервисов, знание различных инструментов, их плюсов и минусов, может сыграть очень хорошую службу.
    Также изучение новых языков может открыть для вас новые способы решения той или иной задачи, которые вы потом с тем же успехом примените в том же PHP, например.

    Ну и чего скрывать, PHP заметно отстал в развитии от других языков и только сейчас в 7ой версии появляются какие-то фичи, которые в современном IT сообществе считаются стандартами де-факто.
    Ответ написан
    6 комментариев
  • PHP как правильно работать с JSON?

    @a_ovchinnikov
    Web developer
    Дело в том, что сейчас вы просто записываете в файл содержимое переменной $arr, которая всегда будет одинаковой, независимо от содержимого файла:

    fwrite($fp, json_encode($arr) );

    Правильный алгоритм таков:

    1. Получили содержимое файла;
    2. С помощью функции json_decode сделали из содержимого ассоциативный массив;
    3. Дописали новые данные в конец этого массива;
    4. С помощью функции json_encode из массива снова получили JSON-строку;
    5. Записали результат в файл.

    В целом структура вашего кода очень похожа на то, что я описал. Вероятно, ошибка вот где:

    if(isset($file)){
    $arr = array();
    }
    $arr[count($arr)+1]["name"] = $name;
    $arr[count($arr)]["email"] = $email;
    echo json_encode($arr);


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

    Кстати, еще один лайфхак - вставку значения в конец массива можно сделать чуть проще:

    $arr[] = [
        'name' => $name,
        'email' => $email
    ];


    Оператор [] позволяет положить значение в конец массива. В данном случае мы кладем ассоциативный массив.
    Ответ написан
    Комментировать
  • Как сымитировать запрос пользователя к сайту через cURL?

    @a_ovchinnikov
    Web developer
    Политики безопасности браузера пользователя не позволят вам получить Cookie для домена, отличного от текущего.
    Ответ написан
    Комментировать