RT,这周一直在忙,也没时间写博客。周末应该是有时间写写了,这周技术上也做了不少事情。
首先工作上的平台的架构设计,然后是客户系统的一些开发维护工作。
本周对YurunPHP的数据库操作层进行了全面改造,抛弃mysql和mysqli,全面拥抱PDO。暂时只有PDOMySQL,等成熟后合并到master分支。
周末还要对YurunBlog开发版进行一些问题修复,然后发布一个版本。
RT,这周一直在忙,也没时间写博客。周末应该是有时间写写了,这周技术上也做了不少事情。
首先工作上的平台的架构设计,然后是客户系统的一些开发维护工作。
本周对YurunPHP的数据库操作层进行了全面改造,抛弃mysql和mysqli,全面拥抱PDO。暂时只有PDOMySQL,等成熟后合并到master分支。
周末还要对YurunBlog开发版进行一些问题修复,然后发布一个版本。
如果你的SQL语句出现了“MySQL server has gone away”错误,那么很有可能是max_allowed_packet这一项设置的问题。
MySQL通过max_allowed_packet配置项来限制接收的数据包大小,默认一般是1M,也就是说如果你插入的数据超过1M就会出错。
我们可以通过下面的语句查看
show VARIABLES like 'max_allowed_packet';
从数据库中随机取记录的需求应该还是不少的,网上流传的一些版本在记录多的时候性能都比较差。
在这我分享两个PHP取MySQL随机记录的高效方法。
由于各个框架操作数据库的方法不一样,所以贴代码没任何意义,仅提供思路。
有时我们需要用PHP批量生成随机的数字,并且不能重复。这里我分享一个函数PHP随机数批量生成函数。
如果我想用PHP开发一个Cron定时任务程序,定时处理一些耗时的大任务,这时候我们需要PHP的CLI模式下开发。开发的脚本有时候需要接收一些参数,那么我们如何在命令行CLI模式下获取传过来的参数呢?
PHP一直被用来开发Web应用,绝大多数开发者从来没有用PHP来开发过命令行程序。其实PHP不仅可以开发网站、各类Web系统,还可以用来编写服务器脚本,执行定时任务、采集任务等工作。
在使用PHP开发命令行CLI程序时,使用Windows的开发者会遇到输出中文乱码的问题。
原因和解决方法都很简单,Windows默认的编码是Ansi(936),我们编写PHP程序一般使用UTF-8编码。
宇润算是一个开源开发者,截止发稿前已经开源了5个大小项目:YurunPHP、YurunBlog、SimplePagebar、PHPChineseToPinyin和VSCode-PHPComments。
在开源不同项目时候,我会采用不同的开源协议,虽然对国人来讲协议有个**用。。。
好吧,就算没用,我们也来了解下常见的几种开源协议吧,这篇文章是百度来的,大家一起学习。
我们在常见的开源协议如BSD,GPL,LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。这里我们来看五种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。
最近有用到PHP汉字转拼音,网上找了一下,20902个汉字是微软的字库,支持多音字。本来是在OSC找到的,他的源代码是每次动态分割字库处理,我直接处理成了静态的PHP数组代码,应该比动态处理要快一些。我还自己写了转换方法,支持获取一段中文的全拼和拼音首字母,支持自定义拼音分割符,应该能满足大多数使用情况了。
我喜欢用图形化软件,所以git用的是TortoiseGit。以前用git都是直接输入账号密码的,今天上班发现项目用的是ssh+公钥。git托管平台一般只有命令行的方法,并没有TortoiseGit如何操作的说明。下面宇润给大家介绍如何使用TortoiseGit生成公钥私钥。
很多被广泛使用的CMS,之所以被这么多人应用,就是因为他们的插件机制,可以实现丰富多彩的功能。而插件机制很大程度依赖于事件,在一些关键位置触发事件,可以方便二次开发,并且不更改系统核心代码。
事件机制本身并不复杂,我们不扯概念理论,直接上代码来看。