每次有新手来问问题,我发现其实很大一部分都是没有仔细阅读手册。
>[danger]这篇文章是我以前写的,当时没发现图片小,不知道有的图片现在为啥小(有点不方便看,但也能看)
对于新手来讲。我觉得“会看”手册是样很重要的技能。
相信大家有和我做新手时有同样的感觉,手册看完和没看差不多...
1、看不懂手册(不知道从哪开始看,应该先看哪)
2、稍微看明白点了不会用(不知道函数怎么使用,写在哪里,报各种错不会解决,返回值不知道如何处理)
3、看完记不住(看完和没看差不多,除非死记硬背记住函数,下次在索引里搜索)
>[info]这里我用的是.chm格式的php手册举例,其他语言类的手册或官方文档同理。
框架类的手册也可以拿这个思路,但多少会不一样。
可以给框架手册中的,代码片段想象成php手册的函数。
## **什么是手册?**
相信大家从小到大没少看,我觉得手册就是说明书,像我们小时候组装赛车的图纸一样。
## **什么是函数?**
手册里最多的就是函数及其用法demo。
函数就像组装赛车的关键零件,每个项目都是由基础零件 + 关键零件,拼凑而成的。
- 而且函数的最大好处在于,方便我们快速实现一些效果。
案例:如果没有第10行的函数,用户发给你的东西,你怎么知道长度?可以一个一个数,但好傻太慢没效率
![](https://box.kancloud.cn/8d136319bd7d84224c0c03a9439273d7_826x376.png)
## **手册到底该怎么看?**
很庆幸,在我刚入行的时候听见yolo大神说,没事的时候多翻翻手册,我也不知道怎么看。就从头开始,一个一个目录的看,直到看见了,如何阅读函数的定义
![](https://box.kancloud.cn/24be6691d2684c5e30bf8e42271682aa_815x428.png)
手册写的真的很明白,只是新手只想着怎么快点学怎么多学点等,一路狂奔。而却忘了最基础的,说明书都看不懂,还组装什么四驱赛车。我只想强调一点,手册真的很重要,要看和自己版本相对的手册。
### **解决第1个问题:不知道从哪开始看**
先看一遍目录,一个一个展开的看 或 自己对哪个目录感兴趣就看哪个,如果有教怎么看手册的再好不过了(如上图)
### **解决第2个问题之:看见函数不会用**
首先根据函数的定义我在啰嗦一遍
- 案例1:fopen()函数,你知道这是打开文件的函数,但是里面还有一堆隐性知识呢,你知道吗?
![](https://box.kancloud.cn/7cc6b986498a1dde6539b95a494b9f01_950x288.png)
![](https://box.kancloud.cn/91485f4d88d959f5882dc947b607c731_759x285.png)
![](https://box.kancloud.cn/94f943ef8edf7f946e451891cec72f0a_607x163.png)
![](https://box.kancloud.cn/35dd19d8879172c995310dc3f465c818_772x377.png)
- 案例2:参数带&是怎么回事
![](https://box.kancloud.cn/dd446e519076cf6a10a3b399c645f66e_818x672.png)
### **解决第2个问题之:函数写在哪里是根据逻辑来判断的**
![](https://box.kancloud.cn/df0d18a1ceb05f487a21b994e2bf5ac6_690x251.png)
所谓逻辑:我的理解是按照事物的正常发展顺序<span style="color:red;">从上到下</span>(如:程序就是从上到下)或<span style="color:red;">从左到右</span>(调类库中的方法或这个这个类调那个类)的<span style="color:red;">依次</span>执行(按照顺便一步不差的执行)
#### **解决第2个问题之:报各种错不会解决。**
需要一步一步分析,这里提供几个我个人的心得:
1、先把错误翻译过来,知道大概是啥意思(偷偷的告诉你,灵格斯词典专业翻译it单词哦)
2、把代码从你感觉出问题的地方开始打印,一步一步打印,看看问题大概出在哪
3、上百度
4、回家(去群里)喊大神帮忙
返回值怎么用?这里我们可以利用bool量返回值和本例打开文件失败返回false来干2件事(上上上图所说的2)
### **解决第2个问题之:返回值怎么用?**
- 调试错误
![](https://box.kancloud.cn/e713c5b4f8646d574dd2d3d52111756a_868x362.png)
- 做逻辑判断
![](https://box.kancloud.cn/ad6105309d45b1ef8d35010332ad26c1_596x241.png)
### **解决第3个问题:看完记不住**
``` php
for(i=0;i<无穷次;i++){
echo “解决之道:多看多用,在多看多用”;
echo “相信勤能补拙、孰能生巧 ”;
}
```
其实有2个方法啦:
1、记住目录结构中的大体内容就O啦
函数参考\-》目录怎么看
![](https://box.kancloud.cn/a1dd2ed079bcba73ae0eeb27cbb795b1_327x643.png)
**3级目录打开后的介绍:**
简介:这个扩展是干什么用的,看不懂就百度
需求:此扩展有没有什么依赖(编译安装才用考虑)
安装:此扩展不需要安装,编译安装时,这个扩展通过哪个参数安装
配置:安装完之后需不需要修改php.ini的配置
预定义常量:其实是给函数的形参用的啦
![](https://box.kancloud.cn/2ae50149a3c76cef6bfcd9dc7dcc7966_1041x590.png)
如何快速查阅:细心的朋友们观察一下,每次点击扩展都是扩展名里包含的文件目录。curl就是一个扩展包
![](https://box.kancloud.cn/c19e52d594e3401753ac36d0abfc148d_576x462.png)
2、如想查和操作文件相关的函数,即使只记住一个f字母,在索引那搜,看着哪个像点哪个,点完之后,将手册从索引切换到目录
![](https://box.kancloud.cn/5b97ca46f7e0b530a869cfecf905eefb_600x275.png)
![](https://box.kancloud.cn/891ac6c810bcd93f3291bcf5b54296fe_587x394.png)
# :-: 框架手册
>[info]以TP5为例,其他以此类推,我就在这简单说下
框架手册最令新人懵逼的应该就是
1、拿到手册不知道看哪。
- 从目录层面上分,大致分2部分
- 了解为主:如 基础和家外,知道就好。
- 实用为主:除基础和架构外,其他的目录,就是写代码,真正需要的东西。
![](https://box.kancloud.cn/7212c7a7a5f6fa45ca6caa2ebcc5ef1d_386x718.png)
2、手册中都是代码片段,不知道该放在项目的哪里??
>[warning]整段代码 和 代码片段,是我自己定义的
整段代码:如 框架中的类,相当于是一个能运行,没有语法错误的类文件(整个文件)
代码片段:xxx方法中用到的 某一个功能点(某个点)
案例一:整段代码
![](https://box.kancloud.cn/301e73d1a5cde23928b76981c203f804_1396x730.png)
案例二:整段代码
![](https://box.kancloud.cn/065eba41c933921605eb569416f1029f_1406x689.png)
案例三:代码片段 和 整段代码
![](https://box.kancloud.cn/0a70acd362490cfa30462d2048984d77_1234x656.png)
- 杂谈
- 开发 & 维护的工作流程
- 新手如何看php手册 和 框架手册
- 开发 & 维护的不同点
- 从0到1,搭建新项目的工作流程
- 从1到N,维护的工作流程
- 优化流程
- 生成错误日志和慢日志的方法
- 查错思路
- 怎么快速接手一个项目
- 前端常用知识点
- javascript
- 自己封装的函数
- 处理数字
- 功能代码
- 动态添加图片
- 判断是手机端还是pc端
- javascript:;是什么意思?怎么用呢
- html & h5
- a标签中target设置为blank和_blank有什么区别?
- 乱码
- 提交方式:button标签 和 input
- 块元素
- 内联元素
- h5特有属性
- h5的localStorage【增、删、改、查】
- jquery
- 常用方法
- 功能代码
- 动态删除图片
- 一个按钮,切换2种状态
- 换肤
- 深入理解(function(){... })();
- json & xml
- json
- 语法速记
- json对象取值
- 字符串、对象、数组的区别
- xml
- [CDATA[%s]]的作用是什么
- 转义字符
- CDATA 想被xml解析的文本数据
- CDATA 不想被xml解析的文本数据
- 微信小程序
- 其他
- websocket
- 跨域
- css
- 行内 & 内连 & 外连 写法
- 优先级
- 更加精准的匹配
- 使用百分比如何生效
- php在html、js、jq中的的原生写法
- *php在html中的语法
- php在js中的语法
- php在jq中的语法
- 正则表达式
- php常用基础知识(思想为主)
- php为什么是“边编译边运行”
- 冒号、endif、endwhile、endfor使用
- 递归思想(速记法)
- cookie和session的理解
- php常用内置(系统)函数
- 常量
- 字符串
- 数组
- 日期时间
- 文件 & 目录
- 数学
- 程序执行
- 判断
- 选项和信息(修改配置文件的)
- 错误处理 & 日志记录
- 编码格式
- session
- IP相关
- 类 & 对象
- 性能
- 其他函数
- 魔术方法
- $_SERVER
- 变量处理
- php自己封装的一些函数
- 导入、导出、生成文件
- 数组
- 数字
- 字符串
- 其他
- 获取linux硬件信息
- 常见插件/类库使用
- 前端-框架/插件
- bootstrap 学习笔记
- layer 学习笔记
- layDate 学习笔记
- 百度ueditor1.4.4.3富文本编辑器
- quill富文本编辑器
- 百度ECharts图形报表
- webuploader上传图片
- 后端类库
- workerman 聊天室
- QRCODE 二维码
- redis
- seaslog 日志
- phpspider 爬虫
- Mailer 发送邮件
- simple_html_dom
- phpstorm使用
- 快捷键
- 连接mysql数据库
- 断点 + debug调试
- 运行内存不够
- wamp环境
- yii、laravel、tp、开发自己的php框架
- 看框架源码的思路
- tp5框架的使用
- 1、助手函数原理解析
- 开发自己的php框架
- 常用的开发思路 和 小功能实现代码
- 爬虫思路
- 功能点思路
- tp5判断是不是异地登录(简单版)
- 微信开发,反向代理
- 微信开发,关闭当前页面
- 消息队列的实现
- 页面静态化
- session串号
- 站内信设计思路
- web在线管理器
- 语言相关(开发有关)
- 接收json(text/xml)格式数据
- 原生文件上传(状态码)
- openssl扩展
- 打印对象 和 遍历对象
- 使用OB缓存的几个原则
- CLI模式执行php文件
- foreach时,添加元素 或 修改元素的值
- 功能点 代码实现
- 生成url目录树(没有pid)
- 多图上传(vue传base64)
- 下载文件,耗时算法
- 生成商品二维码
- 导出excel
- 搜索
- 阿里大鱼发短信
- 使用阿里云oss
- location.href跳转后,丢失用户的session
- “\r ” “\r\n” “\t”的区别
- php的配置文件详解
- 开启错误日志
- 开启慢日志
- 开启短标签
- 分析php-fpm.conf中的request_terminate_timeout参数