What do I need to know before I can call myself a PHP programmer? [closed]
I've built a few minor projects using PHP on the backend, but I'm worried about applying for PHP jobs because I don't know if I've really got a good feel for the language.
The projects I've built have been mostly just CRUD - manipulating records in a database and dumping info on screen. I'm sure there's more to PHP than just this, otherwise any high school kid could do it with very little issue.
I guess I'm asking what sort of knowledge would you expect from a PHP developer in an entry level position? What sorts of functions do I need to be aware of, and what types of applications would be good to get proper exposure to the types of challenges I'll meet on the job.
Judging from my previous experience with interviewing candidates: "Being able to install Wordpress is enough for some people to call themselfs php programmer"
More Serious:
From what I'm currently hearing at conferences the time of "plain old php" is passing and most people are searching for Software developers that have experience with $Framework-X (e.g. Zend Framework, CakePHP (some) or Symfony).
If you'd apply for an entry level position I would expect you to know the basics about OOP, having looked into some bigger framework, done some work with php (any type of project will do) and that our desire to learn.
The Value of an Zend Certified PHP Developer, for me personally, only lies in the fact that we can skip the "is he/she a complete moron that knows nothing about programming at all" questions. While beeing interested in stuff like Test-Driven-Development (or testing in general) is also a plus at the moment. (I'd say, it's where php seems to be at the moment / it's "in")
Hoped that helped a little
Reply to the comment
'the time of "plain old php" is passing' - so now I have a whole extra layer between me and getting a job, just because I rolled my own framework? What's the learning curve like on these frameworks? – Kristina
Stay positive :) There are many people looking for motivated PHP Developers at the moment, depending on where you live of course. I just know about a few countries ;)
Many companies that are now starting more and more php projects (or do so for a year or two) usually don't care if you can write your own caching layer or a database connection handler. Those things are already build and people care about your ability to use something that already exists and just code the parts of an application that earns you money ;)
Having rolled your own framework was, hopefully, a big learning experience and if you find a big that deals with a lot of legacy code it's even more useful. Also you need to be able to wire all these components together etc.
For the learning curve: Getting the hang of an competent framework like Zend Framework isn't a big problem. The only "bigger" part is the MVC Component but we are talking days, not month or anything, to get something going. Starting with a "real" big framework like Symfony shouldn't be too hard ether since there are lots of resources available on the net.
Imho a company that hires you shouldn't care too much about the fact if you know the framework THEY are using, the people there will get you up to speed rather quickly anyways. If you seen one you've seen the basics of them all
I suggest you take a look at a look at the content of the Zend PHP Certification, that includes a fairly good list of most of the things you'll be expected to know when applying for a job. If you feel you know those it might also be a good idea to get a certification such as that one - it will help a lot when applying for PHP-related jobs.
You definitely need to know PHP's OOP-features.
At the very least, you should know the answer to this question:
https://stackoverflow.com/questions/4277372/how-to-integrate-php-with-html-closed
There will always be something new on a specific job that you have to cope with. You can never say that you know "everything" about a specific language.
You just have to keep learning. But you do that by doing new projects, jobs, etc.
I would say that, once you know the basics of a programming language (and as you said created CRUD applications) you can start developing more complex things.
Also a framework like Zend or Symfony will be handy, too. So you should decide for one of them, get to know them and create some small applications (Task application, etc. - something very basic) to understand how they work.
Hard to answer this question. Who decides if you're a developer or not? I develop in PHP, sometimes. I don't know everything about it but at least a little, am I a PHP developer or not?
But you could take a look at some PHP certication from Zend for example.
精彩评论