1. Do not write comments
2. Not using IDE tools that can improve productivity
3. Not using version control
4. Do not write code according to programming specifications
5. Not using a unified approach
6. Don’t think and plan before coding
7. Do not perform coding and security checks before executing sql
8. Not using test-driven development
9. Do not turn on automatic error reporting (error_reporting) when encoding
10. Not using a good debugging tool
11. Don’t refactor your code
12. Do not use a hierarchical structure such as MVC
13. Don’t know the following concepts: KISS, DRY, MVC, OOP, REST
14. Use print or echo to output things directly in a function or class instead of returning (return)
15. Don’t use or understand unit testing
16. Return HTMl instead of data, strings, objects and other types
17. Hard code messages and configuration parameters
18. Not optimizing sql query
19. Do not use __autoload
20. Does not support automatic error operation (should be intelligent error correction)
21. Use $_GET instead of $_POST for dangerous parameter transfer (remember these 40 items are all wrong)
22. Don’t know how to use regular expressions
23. Never heard of sql injection and cross-site scripting (in terms of security, you should understand the English of these two things: sql injection, cross-site scripting)
24. Simple configuration is not supported, passing parameters to the constructor of the class, set/get methods, and defining constants.
25. Unable to understand the advantages and disadvantages of OOP
26. No matter how small the thing you want to do is, use OOP.
27. Think that making reusable software is OOP
28. Don't choose intelligent defaults
29. Don’t use a single configuration file
30. Don’t want others to see the code, but use .inc to replace .php
31. Not using database abstraction layer (persistence layer)
32. Don’t DRY (Don’t repeat yourself) during development. (That is, always develop repetitive things)
33. Do not develop classes or methods that can be reused
34. Do not use abstract classes or interface classes, inheritance, polymorphism, or encapsulation.
35. Optimize your program without using existing design patterns.
36. Users are not allowed to define basic directories (this seems not suitable for PHP, after all, it is not based on operating system development)
37. Wrong use of namespaces, using commonly used words as prefixes. (This will cause conflicts when others use it in the future. For example, define a function called array_push() yourself)
38. Do not use table prefixes when using the database (this is very important...)
39. Do not use or use an unfamiliar template engine (to facilitate team development, everyone should use common templates)
40. Don’t look at PHP frameworks (most frameworks contain excellent code and advanced concepts. They are worth learning)
The above introduces 40 common bad habits of PHP programmers, including content about PHP programmers and bad habits. I hope it will be helpful to friends who are interested in PHP tutorials.