PHP 调试函数 debug_backtrace

有时候我们想知道这个函数或方法的调用堆栈,也就是它是如何一级一级是被调用到的,可以用 PHP 的 debug_backtrace 函数打印,就像这样:

继续阅读“PHP 调试函数 debug_backtrace”

Laravel Sessionid 处理机制

在 Laravel 的配置文件 config/session.php 中可以设置 Session Cookie Name,比如这个项目中设置名称为“sns_session”:

我们可以看到刷新页面,查看 cookie,会发现一个名称为 sns_session 的 cookie,名字就是我们自定义的。

这个 sessionid 就是 cookie 和 session 联系的桥梁,服务器通过这个 sessionid 判断来自哪个客户端的请求。

继续阅读“Laravel Sessionid 处理机制”

Golang 中”泛型”的支持

Golang不支持一般的类似java中的标记式泛型。很多人因此而十分不满,认为没有泛型增加了很多工作量。而目前由于泛型支持的复杂性,Golang的设计和实现者并没有把这个泛型支持作为紧急需要增加的特性。但是,如果真的没有泛型,就一定不行了么?答案当然是否定的。没有泛型也可以,而且我觉得代码更简单,直接,有趣(个人观点,勿喷)。

我们这里打算以一些例子来讲解Golang中如何处理这个问题。

首先,我们看一个冒泡排序的问题。针对整型数组切片的排序。

继续阅读“Golang 中”泛型”的支持”

Laravel中的一个后期静态绑定

关于 PHP  的 new static 延迟静态绑定,或者叫后期静态绑定,在 Laravel 中遇到一个使用上的问题。如下,在 Laravel 中调用 Model 新增数据的时候,首先给 Model 加了一个获取分表的方法:

继续阅读“Laravel中的一个后期静态绑定”

Golang 解析 json 数据

使用 Golang 解析 json 数据,这种 json 格式是对象的数组,官方文档有一个示例:

继续阅读“Golang 解析 json 数据”

Golang map 生成有序的 json 数据

看一段 Golang 生成 json 的代码,首先定义了一个 map[string]interface{}  的变量,然后存一些值,这里要注意的是 previews 字段,为了浏览器获取到的 json 数据是有序的,所以定义了一个 map[int]map[string]string 的类型,加上了一个表示顺序的键:

继续阅读“Golang map 生成有序的 json 数据”

PHP笔试面试题精选(一)

本次课程主要围绕 PHP 面试和笔试中经常会出现的一些知识点,但是面试官会在笔试题基础上深入扩展,那么你知道如何更好的回答让面试官满意吗?题目收集自腾讯,迅雷,美图等公司的笔试面试题,以及本人面试经历中印象中的知识点,同时也分享一些面试的经验,相信对你一定有很大的参考价值。

继续阅读“PHP笔试面试题精选(一)”