Учитесь на Хэкслете, потом приходите ко мне на обучение...
По зп и прочему ничего не пообещаю, но практикой прокачаю. Год уйдет точно, при том плотной работы и учебы.
что такое субфункция?
почему приход с PHP вы отметили? Java все равно будет работать также, невзирая на ваш опыт... сеттеры все равно будут плохим решением и на ней и на PHP, ровно как и публичные переменные класса
Входная точка одна, то есть нет папок с скриптами (вхолными трчками), а одна всегда она, то есть все запросы (все, если это не путь к картинке или др статич файлу) идут на некую точкц (в php приложениях это один index.php) и уже урл разбирается самим приложегием и вмя логикп в нем, свои контроллеоы (например TagController) и т..д. Обрабатывают запрос
Если вы сохраняете и "оно не сохраняется", то, кажется, это исключительная ситуация - кидайте исключение
EntityManager передавать в аргументах не нужно, юзайте DI, хотя его и инжектить лучше не стоит... сделайте провайдер некий, чтобы отделить логику персиста и бизнес-логику сервиса (хотя если транзакция, то может кое-чего поменяться)
Используйте транзакции
createItem($data...)
используйте типиизрованный DTO/RequestDto для общения между слоями (контроллером и бизнес-слоем)