I started a free, unique PHP tutorial, which you can find on my site, listed on my profile page.
My question is for newbies. With so many great resources on learning PHP, would yet another PHP course be useful?
Also, what is your biggest problem with beginning tutorials online?
Thanks for your help,
Thanks wackyjoe,
These are excellent suggestions. I will keep them in mind while I develop my course.
Thanks again,
Most current beginners tutorials, if not all, teach some very bad practices to new developers. I suppose the reason for this is that PHP has a very low barrier of entry as opposed to alot of other languages. Therefore, there a plenty of people out there who think they have mastered the language.
In my honest opinion, we need more PHP resources that cover the following topics:
- Industry best practices (Test Driven Development (TDD))
- Error reporting and handling
- Naming conventions (you spend about 20% of the time creating a product and the remainder 80% maintaining it.)
- Object Oriented Programming (Inheritance, polymorphism, abstraction and various other OO paradigms)
- Documenting work
- Get people to try the ‘no-tutorial’ approach to programming. Most current PHP programmers are spoon fed via tutorials. If you really want people to grasp a language, teach them the fundamentals and let them solve a problem.
- Debugging work!
- Make people understand why they must never trust user input. Teach them various SQL injection prevention techniques (sanitizing user input etc.)
- Read: Real World Haskell. I understand the title has Haskell in it rather then PHP, it teaches you how programming solves everyday problems, in a neat little way =)
- Model View Controller
- PHP is a templating language, not a general purpose or even an object oriented language. Embrace it. Don’t fight it;
- Amateurs in PHP - more so people with PHP as a first language - write disastrous code. You should teach them to be methodical, disciplined and organized with their code.
- Optimization. Always see how your code can be improved for speed - without forgetting usability and readability.
If I think of more I’ll add it to the list.