Debian 安装并保持 composer /npm为最新版本

Debian为了保证稳定性,对包版本的态度比较保守,如果想要更新 composer 和npm为最新版本,可以。在使用稳定版的基础上,通过添加ppa,继续使用apt管理npm;通过直接下载安装 composer 的官网提供版本,之后使用自带的composer self-update进行更新

解决PhpStorm2018.1之后不能更改PHP语法版本的问题

根据在达内太原PHP网站上找到的,在JetBrains的官方论坛中有原因:composer.json中设置了PHP的版本。 解决办法主要有以下几种: 在composer.json中更改语言版本,例如"php": ">=5.4.0"改成"php": ">=7.1.0"... 点开看看

base64_img

有一种图片形式是“data:image/jpeg;base64,…==”

昨天用到一个前端裁剪插件,在jq22上花了六个币下的,裁剪之后的数据是: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQ…=="这种形式的。 看起来是个二进制流的图片,毕竟data:image/jpeg了,但是直接把这一串传给后端写入”*.jpg”的文件之后无法打开,说明这串数据并不是二进制流的图片,但是转了base64之后还是不能用,那怎么处理呢? 后来在网上搜base64转图片到了一篇博客,文中整理了一个函数用来处理这块,现在稍作修改,粘在这里留个备份,以便将来查阅 ... 点开看看

PHP开发Api心得小结

前两天老板给了个活,大概需求就是商机之前是通过人工去导入的excel,现在写个接口,让客户给传商机数据进来,我们检验一下然后存起来,但是客户公司比较大(相对于我们公司。。),要求的比较严,所以老板的要求是要写的bigger高一点。 我的思路: 签名(安全性) (用户唯一的标识码+时间戳+数据条数)的两次md5加密 错误代码配合文档(专业,而且数字不涉及编码问题) 根据不同的错误类型区分错误代码 异常处理(装(哔——)) 所有本来能用if-else判断返回错误代码的地方统统用了抛出异常,说实话除了bigger高之外我并不知道优点是什么,而且异常处理会拖慢处理速度 用switch代替if-else(可读性) 这个的有点还是很明显的,很多的判断条件或成立之后都要抛出同一个异常,如果用if来写的话,条件语句会很长,可读性会很低,但是这个算是基本的吧。。也提升不了啥bigger 日志记录每次请求的返回值(记日志总是没有错的) 记录下是数据是从哪个客户传过来的, 测试过程中出现的问题 无法在我这看到客户传过来的数据 Oracle插入失败时tp报错,直接把插入失败错误页面返回给了访问者,安全性极差 解决办法:emmm,现在还没解决。。。只是规范了下他们的数据还有我们这的验证,如果真的还是出了这个错误估计还会给他们报错 接上,也就没有默认的异常处理,如果系统报错或者框架报错,根本搂不住,而且有个未知错误的错误码,却没有真正触发 老板的提议 签名计算方式不合理,不应该所有的东西都在json中,不然谁截取到之后直接就能破解 解决办法... 点开看看

PHP的常见ORM特性初探

最近在跟着岁寒兄的博客尝试造个简单的轮子。由于平时也读不进去框架源码,所以顺便也算是第一次深入底层了解框架的原理。 写到了M层的ORM这一块,没有找到一个中文的系统的说明常见ORM特性的帖子,所以准备整理下来,侧重点是Mysql和MariaDB,边学边记,给自己留一份底,也希望能给后来者一些帮助 Doctrine... 点开看看

关于对基于PHP的Web程序搜索之后的结果集进行排序方法的尝试与思考(记一次闲的蛋疼的脑洞)

公司的项目中碰到了一个需求,就是在一个能对IP/PV排序的列表页添加一个搜索功能。 本身搜索功能不难加,排序功能也不难写。按我的习惯,对搜索之后的结果集进行排序无非就是在点击排序之后触发Ajax把条件带给后台,然后程序根据搜索条件进行查询。 然后我分析了一下后台方法里的代码逻辑,做了这么一张图: 想了想,哇,这么麻烦的吗?这得多少层的if判断啊。。 然后就开始想这个问题,这样一直要各种判断,然后感觉很麻烦,想了想不如一次查询或搜索,然后在数据传到前台之后,在js中进行点击排序。 使用js排序的话有个好处,就是只需要一次加载,所有的操作都在浏览器(相当于客户端)完成,不太会受网速的影响。 而在PHP端处理的话,所有的处理都由服务器来执行,虽然取决于网速、服务器的性能和带宽,但是有点是稳定,不会受到浏览器对js兼容性的影响。 ... 点开看看

聊聊MV+

为了让自己更深入的理解框架,最近自己的着手开发一个框架,卡在了设计模式这块,于是进行了资料的搜集、分析和整理。 作为一个PHPer,最先接触到的也是唯一接触到的MV+的逻辑架构就是MVC MVC 以下内容来自某百科 定义: MVC全名是Model... 点开看看