• Почему при отправке данных на скрипт формы card2card я не получаю все переменные на PHP?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    После 46 строки вставьте что-то такое и посмотрите чё именно шлёте и что в ответ получаете:
    echo '<pre>';
    print_r( curl_getinfo($ch) );
    echo '</pre>';
    Ответ написан
    Комментировать
  • Junior PHP программист, что делать чтобы устроиться на работу?

    Rema1ns
    @Rema1ns
    и так сойдет
    для начала нужно научится писать слово "робота". А так ребята верно советуют, фреймворк. SPL библиотеки, минимальный набор паттернов. Mysql, хотя бы представлять как работают запросы (мат часть)
    Ответ написан
    2 комментария
  • Как логировать SOAP-запросы в PHP?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Перестать заниматься фигней и начать настраивать логгер на вебсервере (или API Gateway, или прокси - да где угодно). Код должен отвечать только за обработку логики приложения
    Ответ написан
    Комментировать
  • Можно ли учиться без ютуба?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Ору.
    Согласен с wulfdog, как до массовой интернетизации школьники-то учились?
    Берёте книгу и читаете. Желательно по вашей теме. Всё.
    Ответ написан
    Комментировать
  • Какое даст понимание язык программирование ассемблер, абсолютному новичку?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Может дать понимание как работает железо - как устроена память, что происходит с регистрами при операциях, что такое прерывания, стек, и прочее...
    ООП - это совершенно другой уровень абстракции. Как раз чтобы абстрагироваться от железа и работать с некими абстрактными сущностями - объектами, не задумываясь особо о том как это будет реализовано в железе.
    Ответ написан
    Комментировать
  • Какое даст понимание язык программирование ассемблер, абсолютному новичку?

    Adamos
    @Adamos
    Ассемблер даст понимание того, как компьютер работает на самом деле. Но прикладному программисту, особенно в вебе, это сплошь и рядом не нужно. Кроме того, человек, вообще не умеющий программировать, не сможет и освоить ассемблер.
    Поэтому для заглядывания "под капот" обычно рекомендуют научно-популярную "Код: тайный язык информатики", а учиться программировать можно и на Питоне. Главное - настойчиво учиться программировать, а не ходить вокруг да около с фантазиями "а не изучить ли мне ассемблер, а то взять и начать программировать как-то страшновато".
    Ответ написан
    Комментировать
  • Как порциями по 200 штук распределить файлы по папкам в Linux?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Покурить мануалы mkdir, mv и башевские циклы. Ну или да, руками.
    Ответ написан
    Комментировать
  • Как вернуться назад и повторить условие через N секунд?

    @green_goo
    Также возможно добавить константу LOCK_NB в качестве битовой маски к любой из вышеуказанных операций, если вы не хотите ждать, пока flock() получит блокировку.

    https://www.php.net/manual/ru/function.flock.php
    Ответ написан
    4 комментария
  • Куда лучше пойти на работу?

    gbg
    @gbg
    Любые ответы на любые вопросы
    На данном этапе карьеры, блин, ВАЖНЕЕ ДУМАТЬ СВОЕЙ ГОЛОВОЙ. Иначе потом получится, что за вас дяди с тостера все решили. А до этого - матушка решала, а потом будет жена решать, какие вам носить носки и "мама, я устал или замерз"?

    Рисуете табличку, по строкам расписываете важные лично для вас факторы на данный момент, расставляете оценки и делаете выбор.

    Учтите, что ехать полтора часа в конец - это минус три часа в сутки только на транспорт.

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

    Учтите, что испытательный срок - он в обе стороны, и если вам не понравится морда охранника на входе, вы всегда можете уйти.

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

    screen-shot-2018-06-22-at-12-47-19-pm.pn
    Ответ написан
    Комментировать
  • Как исправить ситуацию на Upwork?

    coderisimo
    @coderisimo Автор вопроса
    Всем кому интересно : ситуация разрешилась. Спасибо всем за советы!

    вчера написал еще одно письмо в саппорт, также создал тему на форуме. сегодня утром пришло несколько писем из поддержки. Первое начиналось с строчки :
    Nov 6, 6:34 AM Hello ....Unfortunately, we had to place the financial side of your account on a temporary hold while we review a certain issue....

    Я нервно засмеялся (или заплакал, уже не помню) , потому что сообщение полученное мною 10 дней назад начиналось точно так же! :)
    Oct 25, 11:41 AM Hello ***Unfortunately, we had to place the financial side of your account on a temporary hold while we review a certain issue on your.....


    Но затем я увидел еще одно письмо :
    Hello ***,Good news! I’m pleased to let you know your appeal has been reviewed and approved....


    Выводы : неясно , как страховаться от таких "веселых" историй. Планирую запросить верификацию личности, чтобы хоть как-то на будущее "подтвердить чистоту своих намерений". Впрочем, как я понял, никто ничего никому не гарантирует. Так же очевидно : следует активно (и корректно) отстаивать свою позицию. Не ждать пассивно, ибо сроки рассмотрения довольно вялотекущие. Возможно 10-14 дней стандартный промежуток времени в такой ситуации.
    Ответ написан
    1 комментарий
  • Как выделить резюме?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Доброго времени суток. Сегодня общался с знакомой hr. Говорит, что на вакансию frontend разработчика приходит в среднем 500 откликов. Как выделить свое резюме из такой массы?


    Вакансию frontend макака junior или frontend senior?
    Из массы выделяют хороших специалистов.
    Ответ написан
    1 комментарий
  • Почему не появляется приветствие пользователя после логина и значок логаута?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Вам надо session_start() перенести в начало файла, до того как начали выводить HTML.
    И включите вывод ошибок, добавив в начало фалйа login.php это:
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
    Ответ написан
    Комментировать
  • Как переписать сокращенный if в не сокращенный на конкретном примере?

    Immortal_pony
    @Immortal_pony Куратор тега PHP
    if ($result) {
        if ($result == "right") {
            $color = "green";
        } else {
            $color = "red";
        }
        $probablyColorize = " style='color:{$color}'";
    } else {
        $probablyColorize = null;
    }
    
    echo "<b{$probablyColorize}>";


    Или так:
    $colorAttr = null;
    if ($result == "right") {
        $colorAttr = " style='color:green'";
    } elseif ($result) {
        $colorAttr = " style='color:red'";
    }
    
    echo "<b{$colorAttr}>";
    Ответ написан
    Комментировать
  • Как остановить {foreach} в шаблонизаторе Fenom?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Есть подозрение, что вы передаете в шаблонизатор лишние данные... Может поправить и передать ровно столько, сколько нужно?

    А так для вашего fenom будет так:
    {foreach $options as $option index=$index}
         {if $index == 5}
              {break}
         {/if}
    {/foreach}

    Источник: https://github.com/fenom-template/fenom/blob/maste...
    Ответ написан
    7 комментариев
  • Бросать исключение или возвращать коды ошибок/успеха? Является ли исключением то, что метод не может выполнить свою задачу?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Бросать исключение или возвращать коды ошибок/успеха?

    Бросать исключение.

    Является ли исключением то, что метод не может выполнить свою задачу?

    Конечно же.

    Но узнать является ли сумма(amount) корректной по-хорошему можно только в браузере/GUI или в Domain слое в самом методе transferMoney().

    К фронту не должно быть доверия, данные обязательно нужно проверять.
    Аргументы метода лучше проверять И на тип И на граничные значения. Например ваш amount по идее должен быть float + больше, или равен 0. Если amount таковым не является - бросайте исключение. Логика выше должна была это отсечь, еще на этапе валидации данных запроса.

    В transferMoney() нужно извлечь данные пользователя(который пересылает деньги) из БД и проверить есть ли у него такая сумма.

    Если ваш метод непосредственно имеет дело с кошельком пользователя - проверка в нем должна быть обязательно. Если же этот метод - только посредник, подобную проверку можно сделать в другом месте.

    Получается в методе transferMoney() есть одна причина неудачи, а что если добавится ещё одна причина, например, пользователю запрещено временно пересылать деньги?

    Тот же комментарий, что и про баланс.

    Поскольку они ожидаемые, то бросать исключения не логично.

    Почему же? Логика выше сможет обработать ваши ожидаемые исключения и через множественный catch определить, что не так. Это вполне нормально, и даже удобно.

    В случае если бы была одна причина неудачи, то можно было бы просто вернуть false.

    Очень хреновая практика. Как вы определите в вызывающем коде, что пошло не так? Что "false"? Баланса не хватает, нельзя делать покупки, или Меркурий в ретрограде?

    возвращать что-то на подобии [false, $error] и [true, null]

    Для php - это очень кривой подход. По двум причинам:
    1. Вы расширяете интерфейс метода, просто так.
    2. Вы нагружаете вызывающий код дополнительными обвязками проверок, опять же просто так.
    В этом нет смысла так как есть механизм try-catch, который отлично решает это задачу.
    Вот пример, допустим ваш transferMoney($amount, User $recipient) должен возвращать объект транзакции, пусть его сигнатура будет:
    transferMoney(float $amount, User $recipient): Transaction
    Вызывающий код знает, что он обязан в конце получить транзакцию, а если что-то пойдет не так - будет исключение, нет смысла в дополнительных проверках, а что если первый элемент массива false, а что если он true, но второй элемент не null, а что если второй элемент не тот, что ожидалось, а что если первый элемент - строка, и т.д.

    transferMoney() не должен подстраиваться под слой повыше, в нём не должно быть никаких предположений, что пользователь введёт что-то правильно или неправильно, он просто должен ожидать только валидные данные, если они неправильные, то это исключительная ситуация.

    Верно

    То есть transferMoney() выбросит исключение, которое подымется до Controller'a, и на основе которого Controller отправит 400 Bad Request и причину неудачи.

    Угу

    Или всё таки первый подход к проблеме лучше(первый абзац)?

    Первый подход - это путь боли, ошибок и отчаянья.

    Вот вам еще чтива: https://github.com/index0h/php-conventions
    Ответ написан
    1 комментарий
  • Бросать исключение или возвращать коды ошибок/успеха? Является ли исключением то, что метод не может выполнить свою задачу?

    Adamos
    @Adamos
    Пока вы вызываете одну функцию и решаете, что делать с ее ответом, вы не поймете исключений.
    Вот когда вам надо будет вызвать функцию, которая вызывает методы класса, которые вызывают методы других классов - вы либо изрисуете себе все стены теми вариантами ошибок, которые каждый из этих методов может вернуть, либо поймете, как это прекрасно - просто поймать исключение, если что-то пошло не так, и не париться с тем, что и где именно.
    Ответ написан
    3 комментария
  • Как хранить настройки регистрации?

    @grinat
    Одна таблица сам евент с датой/валютой и прочей херней которая у всех идентична. Другая таблица id поля, название, тип. Третья с id eventa, id поля настроек, значение поля. https://designpatternsphp.readthedocs.io/ru/latest...
    Ответ написан
    Комментировать
  • Почему при делении получается больше а при умножении меньше?

    С точки зрения "элементарной математики, а не высшей" операции умножения и деления имеют физический смысл только для натуральных чисел в качестве второго операнда. Все, что сверх этого - это уже допущение, определенная абстракция - от самой простой (дробная часть от "количества раз") до сложной (умножение на матрицы, мнимые единицы и т.п.). Чем дальше мы отходим от натуральных чисел, тем труднее понять смысл, скрытый за операцией. А микроинсульты - это очень плохо, давайте лучше без них.
    Ответ написан
    Комментировать