(1)Make liberal use of PHP include files. By itself putting all the real code behind two or three levels of files that do nothing but include other files helps to make things obscure.
But when combined with using different files that have the same name that get mapped based on relative paths that vary depending on how you navigate through the application. Then you can take things to the next level.
(2)Make use of multilingual systems, that being say english and french not PHP and ASP. For example, why say this
<tr>\n <td>Main Menu</td>\n</tr>
when you can say
<tr>\n <td><? echo(REF_TITLE); ?></td>\n</tr>
And really, I'm not kidding, I've got pages of this crud to wade through in a system that only has one language to begin with. There is one include file called english.PHP that is included everywhere and defines all these constants. The effect is just to make the HTML even less readable.
(3)Table nesting is fun. To be sure your include files are protected against things set from above be sure that every include file defines it's own table. Don't go overboard though, any programmer that sees HTML code that starts
<table>\n <tr>\n <td>\n <table>\n <tr>\n <td>\n <table>\n <tr>\n <td>
knows you are cheating.
On the other hand, putting the column headings and the actual data in seperate tables is fair play. Why, I have no idea, but it obviously is.
(4)PHP can do all sorts of things for you automatically. Be sure to turn all those things on, making it impossible to actually secure the web site.
(5)You can negate all the concerns about backing up code and how to transport it to the live site by doing your development on the live site. Really, it's fun, sorta like an extreme web development sport.
(6)Never get rid of old files. You might need to reference something in there some day. Just chance their names slighly and litter them all over the site.
Jay