По PHP могу посоветовать "PHP7 в подлиннике". Я сам начинал учить PHP с нулём знаний в разработке (школьные штуки на паскале не считаю), брал на тот момент "PHP5 в подлиннике" так же от Котерова. Великолепная книга.
vitaly_74, если Вы считаете правильным говорить "di зло" и "хочу сам создавать объекты", то у меня для Вас плохие новости. Таким образом, Вы пишете сильно связанный, нетестируемый и нерасширяемый код.
Иван Клименко, это не совсем обязательно делать. Порой можно и пожить с десятком-вторым обработчиков. Я бы не сказал, что будет фантастический выигрыш в производительности. Имхо, по-правильному, нужно вешать обработчик на ближайшего общего родителя группы элементов, чтобы не ловить клики по всему приложению.
Иван Клименко, повесить один обработчик на document и проверять event.target. Таким образом, можно сколько угодно добавлять/убирать элементы в DOM, всё будет нормально вызываться.