Test-driven development is a concept of writing application code after writing tests. It requires from a developer to first define what is the expected outcome before starting the implementation.
Bitmasks are a very useful way to compress multiple boolean flags in a single variable. It can reduce memory usage and operations on bits are basically as fast as they can get. In practice, any time you want to have multiple flags describing something in your application, a bitmask could be the right tool for the job.
It can be quite hard to find inspiration to make an interesting small game, especially if you want to keep your scope small and finish it in a reasonable time frame. Here you can find some ideas to boost your creativity.
Field of View algorithm can be used to create multiple game features. It can determine which tiles should be visible to the player, or which tiles should be lit starting from some light source. You could even use the same calculations when animating explosions.
PHP is not known to be a demon of speed and it can sometimes happen that programmers do not account for how successful a web application can quickly become.