Вы не совсем понимаете стэк технологий, которые собрались изучать. Ваши рамки понимания фронтэнда и бэкэнда крайне размыты.
Ваша первая ошибка в том, что вы, как вы выразились собираетесь заниматься компонентной разработкой с помощью php и gulp. Это в корне не верно, ибо gulp был задуман исключительно для сборки front-end части проекта.
Постараюсь расписать вам примерный туду-лист на будущее:
1. Бэкэнд разработка на PHP - Laravel.
2. Фронтэнд сборка - Webpack + Laravel Mix
3. Фронтэнд разработка - ES6 + Vue.js
И никогда, ни в коем случае, как бы этого вам не хотелось - не смешивайте фронтэнд и бэкэнд, это совершенно разные области технологий и стэка, не занимайтесь порнографией.