chrome json格式化展示插件

现在面向API开发是越来越多,其中API数据交互使用JSON格式的也成为主流,在开发过程中因为JSON格式用肉眼直接判别是有些许难度的,尤其是大段大段的JSON代码,会让你找的头晕目眩。

之前我都是复制这段JSON代码,粘贴到 http://json.cn/ 这个网站上帮我格式化,大大的提高了阅读JSON代码的效率。但是由于每一次都需要在这个网站上翻译,难免有时候网络问题,或者没有网络的时候,只能眼巴巴的用记事本一点点分拆。

后来找到一款还不错的chrome插件,可以解决这个问题,这款插件在发现该页面是JSON格式的时候,会自动格式化这段JSON代码,便于我们阅读。

- 阅读剩余部分 -

PHP获取客户端IP的方法

PHP获取客户端IP的方式有很多,我这里提取了几大CMS程序获取IP的方法,然后总结整理,得到下面这个获取客户端IP地址的PHP函数,你可以直接把这个函数复制的你的项目中,在需要的地方直接调用就好了,也可以把这两个函数封装到自己的工具类里面,不过需要稍加修改。

这个获取的IP的真实性还是有一些问题的,比如如果用户使用了梯子,那么这个可能获取到的IP就是梯子的IP,而不是用户电脑的真实IP,不过对于大多啥情况下获取的IP地址是真实的,所有大可放心拿去在项目中使用。

如果你有更好的获取客户端真实IP的方法,希望你在下面的留言中分享出来,让我也见识见识真正的行家!

以下就是两个函数的代码:

- 阅读剩余部分 -

ThinkPHP3.2.3 递归无限分类

因为递归的效率相对来说比较低,所以很少使用,尤其是在查询数据库的时候对数据库的长时间占用很不合理。

但是递归遍历无限分类列表还是相当重要的,而且还可以对数据进行格式化处理,如果嫌弃效率问题,本人给你一个好建议就是缓存。比如当用户登录的时候判断完用户的权限后获取用户可以操作的菜单,然后递归格式化菜单分类列表,然后缓存起来,这样用户之后的操作都不会涉及到递归获取菜单,效率可以大大提升。

以下是在ThinkPHP3.2.3中使用递归遍历菜单的方法:
1.在项目的Common目录中的function.php中添加以下函数:


- 阅读剩余部分 -

Nginx配置if巧妙多条件

在Nginx的网站配置文件里面可以使用if(){}来添加判断,但是一开始我理解成了和PHP一样的语法,所以我写了如下规则:

if ( $ssl_protocol = "" && $host = keinx.com ) { return 301 https://$host$request_uri; }

但是当我重启Nginx的时候提示配置文件错误,错误的位置在"&&",后来在网上查询得到原来Nginx的配置只支持一次判断和PHP中的不一样,于是我就写了下面这种规则,就可以满足多重判断了。

set $flg a;
if ( $ssl_protocol = "" ) { set $flg "${flg}b"; }
if ( $host = keinx.com ) { set $flg "${flg}c"; }
if ( $flg = "abc" ) { return 301 https://$host$request_uri; }

- 阅读剩余部分 -

极简Typecho主题Rucksack 0.1发布

简述

很早就抛弃WordPress转投Typecho怀抱,但是一直都没有制作一款自己的Typecho主题,虽说Typecho更新龟慢。
结合参考多款Typecho主题,最终制作出Rucksack,命名Rucksack(德语背包)是希望自己拿起背包向远方前行,不管之后的路有多遥远多艰辛。这也是我博客备案成功后,重新上线的首篇文章。
本主题完全免费开源,你可以随意修改,随意衍生发布。

版本

0.1 初始版本,响应式布局,兼容性方面IE9以下已忽略。需要Typecho版本1.0+,其他版本未测试。



- 阅读剩余部分 -