Если вы уверены что это пример того как не надо, тогда зачем вы его выкладываете? Я не вижу в этом примере ничего страшного. Другое дело что не надо смешивать в вопросе в кучу обычный js и фреймворки, поскольку подход совершенно разный, на для обычного js этот код приемлемый.
При этом присутствуют скрипты, которые манипулируют с узлами, и если изменить разметку, то и скрипты придется корректировать.
Если из-за обертки инпута в див нужно корректировать скрипты, значит скрипты составлены неверно. Почем у они могут перестать работать? Только если вы используете запрос типа "ТЭГ>IINPUT", в противном случае сбиться ничего не должно
Decadal, Если бы от неуплаты зависело питание моих детей - я бы вел себя по другому, но мне казалось что с айтишными зарплатами таких ситуаций не случается.
В том что шит хеппенс, и надо это принимать философски. Мне тоже один раз за 15 лет не заплатили сумму порядка 600 евро, по тем временам это примерно как сейчас 1000 евро. Было немного обидно, но я продолжал работать на доверии и брать оплату после работы. И подобных случаев больше не повторялось, напротив были иногда переплаты, либо по ошибке со стороны клиента, либо по каким-то иным мотивам - типа премии.
Decadal, Для меня часть человеческого самоуважения - не быть собакой на помойке, грызущейся за каждую кость. Если клиент не считает этот труд ценным - значит надо просто поговорить с ним по человечески, пояснить ситуацию со своей стороны, если он продолжит настаивать, что проделанная работа ему не нужна - да, просто отдать деньги и не работать с ним больше.
Сергей Горячев, Ответ принадлежит мне и отражает мою точку зрения, комментируя ответ в духе "ужаснах" и не предоставляя аргументов вы а) опосредованно переходите на личности б) оставляете совершенно неконструктивный флуд.
Adamos, Вопроса я возможно действительно не понял, но миграции нужны и для изменения состава таблиц и для наполнения ее данными в определенных случаях, например при первоначальном заполнении таблиц данными: к примеру странами.
mmaximov97, Самые простые из существующих laravel и yii, но придется весь код переписывать под них. Там есть понятие "миграции", создается один единственный файл, в котором описываются изменения в структуре базы или в данных, при обновлении фреймворк автоматически запускает код последней не запущенной миграции. Также в миграции можно прописать код отката.
Возможно можно взять код класса миграции из этих фреймворков и прикрутить к обычном PHP-проекту, нужно оценить что будет быстрее.