* **在技术的世界里,当你遇到问题后,你所提的技术问题能否得到别人的解答很大程度上取决于你提问的方式与解决此问题的难度。**
* **这里将教你如何提问才更有可能得到满意的答复。**
>[danger]
> 通常在编程过程中,所谓的bug大致分两类,一类为语法错误,一类为逻辑错误
>
* 语法错误通常会伴随一个报错信息输出,前提是你已经打开了报错提示,方法为在php.ini里将 display_errors 设置为1,或者在脚本里动态调用此函数display_errors(true)
当你遇到这种问题,在咨询别人之前,你应该做的事情是复制报错信息,到搜索引擎上查询结果,php发展10多年,你能遇到的错,大多数人都遇到过
如果在此情况下无法找到解决方案,你可以将报错信息发至群聊,同时说明当前代码环境,代码上下文,方便别人帮你
* 逻辑错误比起语法错误相对来讲要复杂的多,也要难调的多,正确的调试方法是在代码里设置断点,层层追踪各个变量的变化,根据经验,这样的方法能解决约99.99%的bug,前提是你明确知道自己要写的逻辑是怎么样,如果无法解决,应该通过重新梳理逻辑,将问题尽可能的细化发送至群聊,并说明为这个报错做过些什么尝试,每个尝试产生过什么结果,这点尤为重要,其他的看造化,如果无法解决,通常你应该做的是努力提高自己的技术水平
>[warning]
> 详细参考 http://doc.zengrong.net/smart-questions/cn.html
![](https://box.kancloud.cn/3d2cb35eb6c9035faa1ca1c184b2c514_1300x1920.jpg)
- 序言
- 图片预览
- 诠释高效开发
- 提问的智慧
- GIT命令参考
- 安装composer
- 断点调试技巧
- 调试环境的搭建
- 调试工具的使用及技巧
- 前置基础-TP底层讲解
- 理解编程的抽象
- 耦合与解耦
- 自动加载
- 反射类
- 控制反转(IOC)和依赖注入(DI)
- iThink 自定义依赖注入的实现
- 常用设计模式
- SPL标准库
- 行为-钩子-插件
- AOP-面向切面
- RBAC和Auth类的本质
- 安装iThink
- 环境要求
- 代码下载与环境配置
- 执行安装
- 体验测试模块
- apache配置
- nginx配置
- 系统架构详解
- 目录详解
- 执行流程图
- 数据字典
- RBAC 权限管理架构
- 系统分层详解
- 控制器层(controller)
- 逻辑层(logic)
- 视图层(view)
- 模型层(model)
- 服务层(service)
- 应用包架构详解
- 目录结构
- 开发规范
- 数据库规范
- 编码规范
- 功能设计原则与规范
- 后台功能详解
- 基础功能
- RBAC + Auth 权限机制
- 应用化功能机制
- 代码生成器(重要)
- 应用骨架代码生成
- 数据表 CURD 代码生成
- 页面构造器(重要)
- 通用元素构造器
- 表格元素构造器
- 搜索表单元素构造器
- 表单元素构造
- 闭包事物构造器
- 应用的开发
- 函数参考