I am new to Symfony and am not sure how to best structure my web project. The solution must accommodate 3 use cases:
I think you should separate your applications in public, member and admin. The routing would be done by apache: you can use 3 document roots pointing to separate folders. Mutualizing your code can be done through the use of plugins. You can override a plugin's code : for a specific application if you need to. If the public and member access have very many things in common, you could consider using the same application for both accesses.