I have been learning syntax for PHP and practicing it. I come from a .NET background so masterpages always made things pretty easy for me when it came to headers and footer
This is a perfectly fine method, as long as your site doesn't outgrow the 20 pages threshold. I'd however advise to use include() in function style, not as construct, and place these templates in a separate subfolder. If there is no PHP code in them, also use a .htm file extension (htm designating partial html).
include("template/main/header.htm"); // would still parse PHP code!
The disadvantage with this approach is, that you somewhen end up injecting HTML through global variables into it. $HEAD='
. Which is not bad per se, but can quickly amass cruft.