There is no sure-fire way of confirming someone to be an “Advanced PHP Programmer.” An advanced PHP programmer could not use a framework at all and opt for the more hardcore route of raw PHP goodness. I still don’t sometimes use a template engine - PHP was designed first and foremost as a template language to be embedded in HTML. Securing SQL queries has little to do with PHP - it’s a general rule of thumb for most good, secure applications. And your last point could again be applied to pretty much anything.
I think the best gauge to estimate a programmer’s aptitude with is their code. Is their code clean and readable? Is it documented well? Does it have any outstanding bugs? Does it use the best technique and paradigm for the job? Does it actually solve the problem?
If you answer yes to those questions, I’ll consider you as an advanced programmer. Notwithstanding the knowledge of the language and standard library itself, any tools you use and your overall process. Of course, this is all variable - we all knock up little bits of horrible code to do the job, but the mark of an advanced programmer is not how you code correctly, by why.
It’s a very fine line, but really, to be an advanced programmer you need to stop procrastinating and go and code some stuff. Tell your teacher that.
Jamie