What would you guys suggest that I do to improve my skills as a PHP programmer? I want to develop high quality web apps and I chose PHP programming as my niche. I want to really hone my skills to be one of the best. What do you think I should do?
You can read up on my blog http://thephpcode.blogspot.com/ i do loads of crazy testing and so on - including speed tests of php codes, optimization, codes tips.
Also, as basics of all programmers, we should learn to format our codes properly, comment as needed and so on.
On top of that, brush the manual frequently as they are updates and so on. Do read the user comments on the pages of the PHP manual as there are tips and useful functions that you might want to take note off.
You should also take note of good PHP programming practices. Because PHP is so dynamic, you will need to be strict and enforce yourself to follow certain rules and so on. Set rules for yourself - for example a standard Naming Convention, standard coding format and so on.
Last but not least, get yourself involved in loads of PHP coding. that way with constant practice, you will be able to program as a good PHP programmer.
Two challenges:
Understand PHP and its ecosystem. For this reading the books and blogs helps. I think that attempting to answer StackOverflow questions tends to take you down the byways of the subject. Attempt to answer questions, you will probably need to research things, hence by answering you learn. You may well get it wrong, or more likely give one of several possible answers, so study the other answers and corrections.
Designing good systems, writing good code. This is where issues such as maintainability, decoupling, testability etc. come in to play. For this you can cast your net wider than just PHP. Try to follow a few newsgroups or blogs where experienced developers discuss alternative design approaches. anishmarokey's quite from Fowler is a great reminder to consider code quality.
The best programmers don't usually tie themselves to a single language. In fact, most of the skills you need to be a great programmer are completely language-agnostic, and can be used no matter which language you choose for the job.
Programming is about solving problems. If a client/boss/co-worker comes to you and says "I need a web application to do _", you need to be able to model the problem, come up with a design for a solution, and then program it. You should be able to do this regardless of whatever language you might choose to program in. In truth, once you understand the fundamental concepts of most modern programming languages, you'll probably find it easy to write good code in any of them!
Code is just a by-product of design. The more you analyze structure and flow, and the more you practice designing and implementing your designs, the more you'll find patterns and commonalities and be able to come up with clean, modularized code.
Since you have an affinity for PHP, by all means, do this in PHP. For practical suggestions, I would say you should do as much as you can to continue learning:
- Download well-established code and see how other people and teams do it. Check out Zend Framework, and Codeigniter, and some of the forum software out there. Dig into class structures and look for clean, easy-to-use code that is obviously well-designed, and see if you can apply it to anything you've done.
- Look into modern coding practices, such as Test Driven Development (TDD).
- Google for best practices. Every language has it's own unique characteristics, and PHP is no exception. There are hundreds of tips that you can incorporate into your own coding.
- My favourite learning tool at the moment is actually Stack Overflow. Trying to answer other people's questions constantly challenges my skills and exposes me to things I would never try otherwise.
Familiar yourself with all the 3rd party tools. jpGraph, PHPMailer, CakePHP, etc. When someone comes up to you and says "I have this here problem..." You should be able to tell them the best solution, which hardly ever involves "rolling your own". Truly mastering a language means knowing how to use the whole language to its fullest and that includes the community contributions.
Looking back, it wasn't until I really started using other people's code (via these libraries) that I started really understanding what the language was capable of.
- Read books about PHP - security, XML and web services, design patterns, OOP, PEAR
- Familiarize yourself with at least one framework
- Familiarize yourself with PEAR
- Attend PHP conferences
- Listen to PHP podcasts
- Participate in PHP forums
- Subscribe to Planet PHP
- Try developing modules and themes to popular CMS like Drupal and Joomla
- Write about PHP in your blog
- Write a useful application in PHP
- Look out what open source PHP projects are there. Try to contribute to them
- Subscribe to PHP mailing lists
- Join ##php on irc.freenode.net
Best of luck.
- First learn the language fundemantals from a good book that suit you
- Then start with small project that both satisfy you and your needs
- Then if you hava bigger project make some research about similar open source ones and read code(that really show me good style of writing php code)
- And then do some brain storming and create new project that nobody done before(this part show you if you hava skills at php)
Well one needs to constantly research in the field of interest. A good programmer should always be capable of fine tuning codes written by oneself & others. Basics & fundamentals are priority in any language. An inquisitive mind will also help that is an urge to constantly better oneself. Good Luck!!!!
Well PHP is the most widely accepted and used programming language. These days to be master in programming one has to excel in PHP programming. Of course getting a basic familiarity with PHP is not difficult, but if we don’t understand a few key elements we will find it difficult to work with.