Definetely because of job reasons...
As you noticed in ASP, you can't include files in the same as you do in PHP.
The difference: PHP does it via functions. ASP does it by SSI (server side includes - you might remember those, they worked great if you needed to use CGI or some other tricks without being able to use scripting languages like PHP). Make sense?
The part that really sucks (in my opinion) is the order of operations for ASP:
You request an ASP page and the server looks up ASP page and:
- Processes SSI (it takes all your includes and tosses them together to make 1 "file")
- Process ASP
Then the page output makes it to the browser. The sucky part is ASP doesn't have a clean built in way of including files. In theory, you could try building your own by using eval methods. But I haven't tried this. The other problem with using SSI for this approach is you can't dynamically load include files like libraries and use them only when you need them. Instead, ASP will end up loading every single file first, and then process ALL the ASP it found (I'm pretty sure on this - don't quote me though, its been a while). PHP can do this as well, I believe, using SSI. Although its a lot easier to just use include() which you can then insert into a control structure and have PHP "include" the file on demand.
I don't know if you're working with just ASP or if you're working with ASP.NET. I haven't worked with the .NET flavor, but I would have thought (and hoped) they developed a workaround for this in .NET.