Как лучше поступать при выполнение сложной задачи?
P.S без нудных советов типа "сначала изучай все до крошки, только потом бери заказ" - по мне данный способ для слабых и неуверенных людей которые только и сидят в зоне комфорта
Чего? После первого занятия в автошколе вы же не пойдёте участвовать в гонках формулы-1. Почему в программировании вы поступаете иначе? Если вы возьмётесь за сложный заказ с маленьким количеством опыта, то поставите под угрозу рациональное использование времени вашего заказчика и его денег
Учиться лучше всего на реальных практических задачах. 
Но они должны быть по силам. 
Допустим, вы работали с фреймворком А, и поступает задача, связанная с фреймворком Б. Вы потратили 2-3 часа на знакомство с документацией нового фреймворка, составили представление и можете сделать вывод — справитесь за 2 недели или нет.  
Если же вы знаете только азы php, то, почти наверняка не стоит рисковать. 
Попрактикуйтесь в чем-то попроще. Сделайте проект для себя, бесплатно для друга...