分类 PHP 下的文章

PHP7扩展开发(一):hello world


起步

最近在看 《PHP扩展开发中文教程》 的pdf版。PHP的解释器是用C语言写的,所以PHP扩展自然也是用C 语言了。

扩展是什么

用过php的人一定也用过php扩展。php本身带有86个扩展,扩展是对php语言功能的一个延伸,php的核心由两部分组成:最底层的 Zend引擎PHP内核 。ze把脚本解析成机器可读的符号,也会处理内存管理,变量作用域,程序调度。PHP内核则主要涉及主机环境(Apache,IIS,Nginx),处理与主机的通信。


PHP单点登录


你说你从我亲戚家来的,以为我会信吗。

起步

单点登录也不是什么新技术了,但是由于那次电话面试问了这个问题,我又有电话恐惧症,吞吞吐吐,没有回答好,觉得应该写下来以便以后回答能比较流畅容易理解。

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。重点就在于让Session值在让不同服务器不同域名的情况下都可以访问。


PHP命名空间下的自动加载


前言

命名空间的出现解决了类/函数/常量之间的名字冲突。使得在新建一个对象的时候需要指定其所在空间:

$req = new Framework\App\Request();

由于空间的出现,以前自动加载的函数似乎就不那么好用了:

function __autoload($className) {
    static $map = array();
    if (!isset($map[$className])) {
        require __APP__.'classes/'.$className.'.php';
        $map[$className] = true;
    }
}


Linux lamp安装配置


起步

PHP开发和服务器运行环境首选LAMP组合,即Linux+Apache+Mysql+Php/Perl /Python,能最优化服务器性能。如何在本地电脑Ubuntu 中安装和配置LAMP环境搭建?Ubuntu9.10本身就是基于Linux内核,所以Linux是现成的了。使用Ubuntu LAMP Server软件包可以很简单地实现Linux下Apache,Mysql和Php的统一安装和配置,也不再需要一个一个来安装配置了。