С чего лучше начать ?
С понимания того, как устроен процесс создания архитектуры любого приложения, включая логику обработки данных и выбор/создание алгоритмов для конкретной задачи, для дальнейшего написания кода.
И только после, учите уже сам язык программирования, начиная с hello-world-приложения понимая и расширяя постепенно код до соответствия поставленной задаче.
Например, такая задачка: создать простейшее хранилище текстовых заметок с произвольными полями, с метками/тегами и удобным поиском по всем полям. Минимум вёрстки, максимум полезного функционала (вёрстка - позже как раз!).
Всё обучение - только строго по официальной документации!
PHP: php.net
И т.д.