Feilong-tech

Teruterubozu



PHP UTC转GMT时区

很长时间没有写blog了,并不是因为我偷懒了,而是最近没什么好写的东西,今天就费劲挤出一些东西,写一篇blog。

背景:公司的项目海外市场比较多,所以需要兼容多时区问题。这块也是一个比较头疼的问题。

Continue reading “PHP UTC转GMT时区”


PHP curl传送json数据

PHP curl传送json数据

说句实话,写PHP也有几年了,不过感觉技术还是渣的不行。前段时间给公司的机器人写接口,客户端的哥哥打算用json上报数据。这可憋闷死我了,因为以前都是直接使用form表单的形式,也就是键值对。没办法,只能双方商量一下,改用键值对的方式了。(大写的尴尬)

今天终于找到了使用json互传数据的办法了。用到的主要函数是curl,file_get_contents()和json_decode()。

Continue reading “PHP curl传送json数据”


PHP 底层:PHP的生命周期

一切开始:SAPI接口

SAPI 是Server Application Programming Interface 的简称,意思就是说,服务应用编程接口,PHP所有接口都是在这和系统进行交互。就像pc一样,无论安装在哪个系统,只要满足接口,都是可以正常运行的。PHP的脚本有很多运行方式,大多数是运行在web服务器,比如Apache或者nginx,或者命令行(CLI),或者嵌入其他程序里。

Continue reading “PHP 底层:PHP的生命周期”


PHP 底层: SAPI概述

概述

各个服务器抽象层遵守着相同的规定,统一称为SAPI接口。而SAPI接口的格式由一个_sapi_module_struct的结构体定义好。在PHP中,如果需要调用服务器的信息,统一通过SPAI接口进行实现。

下面是SAPI调用的简单示意图

Continue reading “PHP 底层: SAPI概述”



PHP7 拓展编写–在拓展中调用函数

PHP中调用函数都比较简单,今天要实现如下效果的代码

<?php
class demo {
    public function get_site_name($prefix)
    {
        return $prefix . "肥龙的博客\n";
    }
}

function get_site_url($prefix)
{
    return $prefix . "www.feilong.tech\n";
}

function call_function($obj, $fun, $param)
{
    if ($obj == null)
    {
        $result = $fun($param);
    }
    else
    {
        $result = $obj->$fun($param);
    }
    return $result;
}
$demo = new demo();
echo call_function($demo, "get_site_name", "site name:");
echo call_function(null, "get_site_url", "site url:");
?>

Continue reading “PHP7 拓展编写–在拓展中调用函数”