Всем привет. Меня зовут Роман. Живу и работаю в Москве. В настоящее время я являюсь действующим разработчиком, работаю в достаточно крупной организации, занимаюсь мобильной разработкой, а также знаком с .Net core и React. А не так давно я решил, что нужно расширять свой кругозор. И погрузиться в веб-разработку гораздо больше, чем оно у меня есть сейчас. И немножко отойти от мобильной разработки.
У меня не так много свободного времени, чтобы пойти в интернет, найти какую-то информацию, какие-то статьи, какие-то полезные ссылки. Поэтому я решил найти какой-то ресурс, который предоставит мне подробный план обучения, как говорится, от, А до Я или под ключ.
Я пришел курс в Invormation University, выбирал курс full-stack разработчик на PHP и JavaScript. С фронтендом я уже знаком, но мой бэкграунд достаточно сильно устарел. Нужно освежить свои знания как в верстке, так и в JavaScript.
В принципе, Information University с данной задачей справляется. За 1,5 месяца обучения уже есть какие-то результаты. Мои знания освежились. Также на данном курсе я планирую познакомиться с PHP. Как бы давно с ним хотел познакомиться, также познакомиться с новым фреймворком Laravel.
В "Information University" мне нравится системный подход подачи информации. Я могу заниматься в удобное для себя время. Есть большое количество самостоятельной работы, дедлайны, которые держат тебя в тонусе и не дают скучать. Также в Invormation Universiry имеется отличное community, обратная связь, как от менторов, кураторов, так и от технической поддержки, если это требуется.
Крайне желаю обратить свое внимание на Information University. Здесь круто.
Этот текст гениален сам по себе, даже вне контекста данного вопроса.
вы сейчас, очень, очень смешную вещь написали
знаете, страус, когда видит хищника, втыкает голову в песок
и думает, что если он не видит хищника, то и тот страуса не видит.
вот у вас точно такая же логика. "если я не знаю как посмотреть исходный код страницы, то пользователи тоже не знают" :)))))
Что такое "настоящий скрипт с продуктом"?
Почему вы все всегда делаете не по инструкции, а левой пяткой через заднюю ногу?
Какая проблема выполнить примитивное действие - создать заказ, дернуть платежную систему, получить идентификатор платежа, перекинуть пользователя на сайт мерчанта, принять вебхук с результатом оплаты?
Вы можете мне объяснить, ГДЕ в этой схеме ваша форма?
Или проблема в том, что кроме как в spisok.csv данные заказа никуда не пишутся, а как прочитать оттуда вы не знаете?
Suil, прекрасно все добавляется, не надо фантазировать
В любом случае, с поисковыми системами у вас, похоже, всё совсем плохо
потому что ответ на вопрос php без знаков вопроса в url существует в миллионах экземпляров
на одном хабре про это сотни статей и ответов.
DollyPapper, ну вообще я написал там выше, как обрабатывать. Но в целом я склонен согласиться с вами. Или по крайней мере еще подумать над этим кейсом.
Muranx, ну вот коллеги настаивают, что хотя возвращать UserObject вместо array конечно правильнее, но это не имеет прямого отношения к вашему вопросу. А если вернуться к нему, то получается что надо все-таки делать составной тип, UserObject|null (?UserObject)
Ubuntu Pro, про nullable я вам выше уже ответил. Сама проверка была ещё 20 лет назад. Только не "на null", а просто на на то, был передан параметр, или нет. С добавлением типизации эту проверку просто добавили в сигнатуру.
где тут строгость тогда?
Тут нет строгости, потому что есть обратная совместимость.
У меня складывается впечатление, что у вас есть какая-то претензия к разработчикам языка, но я никак не могу уловить её суть.
Сергей delphinpro, Я бы сказал, что так будет однозначно проще.
Но вот насчет лучше я не уверен. Всё-таки, типизация в моем варианте получается строже. Я думаю, зависит от конкретных вариантов использования.
Писать "про и то и то" - это бессмыслица. В огороде бузина, а в Киеве дядька.
потому что формально айдишником может быть что угодно
Это про возвращаемое значение
это для обратной совместимости
Это про параметр
Выберите что-то одно
При чем здесь string|array|callable - я вообще не понял, куда-то вас совсем не туда уносит. Ну или формулируйте свои вопросы более чётко. Если это какой-то новый кейс, никак, внезапно, не связанный с PDO, то опишите его нормально, и не забудьте указать, что конкретно вас в нем смущает.
Анатолий Медведев, я уважаю некоторую догматичность, но только если она не идет вразрез со здравым смыслом :)
str_replace никаким местом не умеет "работать с многобайтовыми кодировками". Во всяком случае, в том смысле, который вкладываете в это понятие вы. Повторюсь, ей это умение просто не нужно. Что доказывает тезис о том, что не всегда при работе с многобайтовыми строками надо обязательно кровь из носу использовать только многобайтовые функции. иногда и однобайтовой достаточно. В как в случае с str_replace или при использовании strpos для установления факта наличия подстроки в строке.
Ubuntu Pro, я думаю, это для обратной совместимости. Ведь типизацию ввели через 20 лет после того, как появилась сигнатура этой функции в виде PDO::lastInsertId($name = null)
И зачем здесь что-то к чему-то приводить? Здесь не нужна пустая строка. Здесь нужно только понимать, был передан параметр, или не был.
Ubuntu Pro, потому что формально айдишником может быть что угодно - например UUID.
Плюс, поскольку PDO работает с самыми разными БД, некоторые драйверы могут не иметь поддержку передачи типов, и возвращать любые данные в виде строк.
Этот текст гениален сам по себе, даже вне контекста данного вопроса.