No one will access the code on your server, it is just the HTML, CSS and JavaScript code that you actually stream down to the client. PHP code, is on your server and your server executes it to get a dynamic web page.
Also note that, dll files in ASP.NET are also accessible by development team only. Clients and users cannot access them. If they do, the architecture and the design of application is poor. HTML content is
at-any-case required by the client to actually render your website. However, the HTML content can be compressed and minified using libraries, which make it really tough for anyone to read the content and understand how it works. You can look into many algorithms, or services, such as GZIP to compress the content. You can also try to minify the JavaScript or CSS stylesheets.
One of the PHP obfuscator, is
PHP protect - Free PHP obfuscator[
^]. You can use it to
secure your website, just from a potential reader or any other developer. HTML code would still be sent down to the client; PHP code would be make harder for reverse engineering only.