40个迹象表明你还是PHP菜鸟

简介: 我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse:   你是PHP菜鸟,如果你:  1.

我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse:
  你是PHP菜鸟,如果你:

  1. 不会利用如phpDoc这样的工具来恰当地注释你的代码

  2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见

  3. 从未用过任何形式的版本控制系统,如Subclipse

  4. 不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实

  5. 不使用统一开发方式

  6. 不转换(或)也不验证某些输入或SQL查询串(译注:参考PHP相关函数)

  7. 不在编码之前彻底规划你的程序

  8. 不使用测试驱动开发

  9. 不在错误开启状态下进行编码和测试(译注:参考PHP函数error_reporting)

  10. 对调试器的好处视而不见

  11. 不重构你的代码

  12. 不使用类似MVC模式把程序的不同层次划分开

  13. 不知道这些概念:KISS, DRY, MVC, OOP, REST

  14. 不用return而是直接在你的函数或类中输出(echo/print)内容

  15. 对单元测试或通用测试的优点视而不见

  16. 总是返回硬编码的HTML,却不返回纯粹的数据,字符串,或对象

  17. 总是对“消息”和“配置参数”进行硬编码

  18. 不对SQL查询语句做优化

  19. 不使用__autoload(译注:参考PHP手册相关描述)

  20. 不允许智能错误处理(译注:参考PEAR的ErrorStack)

      21. 使用$_GET替代$_POST来做具有破坏性的传递操作

  22. 不知道怎么利用正则表达式

  23. 从未听说过SQL注入或跨站脚本

  24. 不允许简易配置,也不允许类的构造函数接受参数传递而后执行set/get方法,或运行时的常量定义

  25. 不理解面向对象编程(OOP)的优势和劣势

  26. 不视情形大小而滥用OOP

  27. 自认为实现可复用的软件一定等于/需要让你的代码遵循OOP

  28. 不利用智能缺省值

  29. 没有单一的配置文件

  30. 不想暴露文件源码,却用.inc后缀名取代了.php

  31. 不使用数据库抽象层

  32. 不能保持DRY作风,即不重复自己,如果你总是在复制粘贴一些东西,说明你设计得很差劲

  33. 没有实现让一个函数/类/方法只做一件事,也不能组合利用它们

  34. 没能尝试OOP的特长,如抽象类、接口、多态、继承,访问控制修饰符(译注:如public, private, protected)

  35. 不用现有的设计模式优化你的程序体系设计

  36. 不允许你的用户在你拥有很多文件或目录的情况下定义基础目录

  37. 污染了名称空间,比如用常见字符串命名你的库函数

  38. 使用数据库表时不使用表前缀

  39. 不使用统一的模板引擎

  40. 不关注已有的PHP开发框架,懒于探索;其实先进的开发理念和美妙代码就蕴含其中。

目录
相关文章
|
12月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
555 0
PHP和Mysql前后端交互效果实现
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
836 0
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
733 17
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
557 18
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
596 25
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
522 31
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
340 27
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####