1,PHP api接口开发:
(1.1)API没有mvc只有m c,因为其没有页面可以看见,只是接收和输出数据的。
2,PHP编码规范: https://psr.phphub.org/ 。
(2.1)日志接口规范、自动加载规范、缓存加载规范、http消息街口规范。目前这四份文档了解有困难。(2016.12.13)
3,PHP composer组件库。
4,域名rewrite重写:
5,__FILE__ 常量:表示当前文件
完整的文件路径和文件名。
6,正则表达式 ?!的使用规则:使用格式(?! pattern)匹配不符合pattern的字符的前面的字符。但是不获取匹配到的字符(就是获取后以备使用)。
例如,'Windows (?!95|98|NT|2000)' 匹配“Windows 3.1”中的 “Windows”,但不匹配“Windows 2000”中的“Windows”。
7,被.htaccess文件重写域名访问文件后,如果不做[R]的操作的话,用户在地址栏仍然后看见原来输入的url,但是实际访问的文件却不是,而且服务器参数数组$_SERVER['REQUEST_URI']的值也是原来用户输入的url。
8,http://codepen.io/pen/ 可以直接在上面编写前端内容,直接运行看效果。
9,$_SERVER['REQUEST_URI']返回的是输入的主机域名的后面的所有内容。例如 www.baidu.com/test/test.php 则返回 /test/test.php 。
10,$_SERVER['PATH_INFO'] 返回的是输入的url中第一个执行文件的后面的路径内容,不包括。例子: www.baidu.com/doc/index.php/test/test2/index2.php
?var1=1&var2=2
返回 /test/test2/index2.php
, 如果在index.php 后面没有内容则会发notice显示未定义$_SERVER['PATH_INFO']。(注意:此处执行实际文件就是index.php文件。)
11,在编辑欧美生活馆 商品发布 列表,添加每一行一个提交按钮(每个button的id值都是一样的)时,只有第一个按钮有效。经排查可能是js代码中绑定button和表单信息时只绑定了一次,所以只绑定了第一个按钮,所以只有第一个按钮有效其他无效。
12,当一个sql查询操作失败时,可以查看其真正执行的sql语句。
13,在js中函数的形参不能用var定义,只要直接写变量名就可以。
14,使用Git提交代码的步骤:①将本地工作区暂存到暂存区:git add . 。(暂存前可以用git status查看其修改状态。红色表示修改过的文件但是还没提交,绿色则表示已经提交上去的)
②提交到版本库:git commit。
③push到远程库:git push。
15,js验证信息的时候,可以直接修改html代码 骗过验证。是一个bug。后台验证的数据如果也是来之前端的HTML的话,可能就容易被攻击了,要安全验证必须跟数据库交互,但是这样就消耗了数据的资源。
16,每次写完一个功能都应该思考四个问题:①实现的思想。②还能怎么优化。③能进行什么拓展。④使用的技术优劣。
17,编写分发列表时:一直不能显示出商品,后来发现是model组装where语句时,对上传的变量的检测函数没有进行较好的判断导致变量为空时也通过了,导致生成了错误的where条件。
心得:在查找bug时,没有思绪时应对相关的方法的源码,查看其实现原理。
18,为什么下图注释那一行会出错呢?
因为前面获取app列表的库换了,所以读出来的app列表是不同的,对应不上的。所以报错。
新问题:为什么如果把下图中的$nxapp 随便设置一个数组,后面下载下来的文件就打不开了?

可能是这样导致了
'source_name'
=> !empty
(
$value
[
'source_app'
])
?
$nxapp
[
$value
[
'source_app'
]]
:
''
,
‘source_name’指向的是一个错误习信息,而这个错误信息不是简单的字符串类型,所以下载下来的文件出现了内部错误不能打开。
19,在下图中,使用radio时,系统默认执行最后一个checked上的:
另外如果是讲value中的值不加引号 ‘’ 如下图
, 则选择了全部时,提交表单后,会checked在第三个中,所以在HTML中 '' 、null是和 0 是相同意义的。
21,
for (var i = 0;i < 5; i++) {
setTimeout(function () {
console.log(i);
}, i * 1000);
}
输出结果为5个5,js的特性是事件响应形式的,所以会将log事件加入事件队列中,当主线程执行完了之后才会执行事件列表中的事件。而上例中,当主线程执行完了之后,再来执行log时,i的值变为了5了,所以此时会输出5个5。
null