Чтобы называете словом "не передан"?
Если функцию addCourse() вызвать без одного из параметров, то РНР и так выдаст ошибку.
А если вызывать её, передавая элементы массива $_POST, то РНР будет сыпать Warning-ами при отсутствии нужного параметра
Проверять надо ДО её вызова.
Функция нормальная, только во-первых, она не должна кидать никаких исключений. Ну или хотя бы кидать своё собственное исключение.
А во-вторых, её можно сделать короче, с использованием array_diff()
Даже в 16 году это был отборный говнокод
Этот хауди хо - обычный самозванец, который никогда сам ни одной программы не написал, а только пытается зарабатывать на наивных дурачках, втюхивая им видео, на котором пересказывает то, что прочитал в интернете
Я понимаю, что вы хотите помочь.
Но перед тем как писать ответ, очень желательно прочесть сам вопрос, а не один только заголовок.
А в идеале ещё и обсуждение под вопросом.
tajfun_rt вы можете объяснить, хотя бы самому себе, зачем вам сдались эти "маркеры" на экране, если ни с ними, ни без них, этот текст вам на экране сам по себе не нужен и вы все равно делаете редирект?
Василий Банников, правильно, если упарываться. Но вопрос был не про то, какое слово правильнее. А про БД для веб-приложения. И ответ на него совершенно очевиден, сколько ни жонглируй словами.
Saboteur, во-первых, это не база, а свалка. Специализированный сервис для хранения мусора, который не может заменить БД, а только дополняет её - как и другие перечисленные выше.
Во-вторых, со времени появления Монги все базы данных научились хранить мусор самостоятельно, и надобность в отдельном сервисе отпала.
В-третьих, многие комментаторы действительно любят рассказывать, что "это просто неудачный кейс для монги" но при этом почему-то забывают привести пример "удачного кейса". Который, если всё-таки выдавить из них, сводится к специализированному хранилищу в дополнение к базе данных. Ну или к кейсу, который я описал в своём ответе.
Andrei SunnyPh кстати да, рекомендую прислушаться к замечанию выше. И заранее ограничить набор, сразу запланировав отдельную базу данных для учета всех этих "неограниченных свойств". Иначе потом у вас будет так, как рассказывал Дерик лет 15 назад про OpenStreetMap - в одном месте туалет обозначается как WC, в другом - wc, в третьем Wc, в четвёртом lavatory, в пятом toilet, в шестом toilets... И тогда набор станет действительно бесконечным.
В каком смысле "недоступны"? Некому прочитать документацию?
В любом случае, все перечисленные сервисы потому и называются дополнительными, что добавляются по мере необходимости и фактически нужны только под серьёзный объем данных и трафик.
Adamos, надо не путать депрекации со стабильностью.
PHP 8.4.3, в отличие от 8.4.0, вполне стабильна.
При этом говнокод под ней вполне может не запуститься. Но важно понимать - это потому что говнокод ( который ещё в 5.6 считался говнокодом). А не потому что "нестабильная версия".