![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
小灰马
爱生活,爱读书,爱挑战!
展开
-
Yii源码分析——CComponent
CComponent用到许多php的魔术方法。下面摘自php手册的一些魔术方法的说明。属性重载void__set (string $name , mixed$value )mixed__get (string $name )bool __isset ( string$name )void__unset (string $name )在给未定义的变量赋值时,__set() 会原创 2012-07-27 21:47:26 · 1897 阅读 · 0 评论 -
新浪mid与id互转
前言: 工作需要,顺带研究下,参考资料 新浪微博地址url字符与mid的相互转换算法及原理 由于原文代码看起来有点挫,所以决定把他代码拿过来改改,自己写一个。 新浪微博链接格式为:http://weibo.com/用户id/mid?其它参数,例如 http://weibo.com/1646512101/A3m18DfFN?mod=weibotime 而新浪的api原创 2013-08-05 19:17:25 · 1211 阅读 · 0 评论 -
PHP源码分析之内存管理
欢迎转载,转载请注明出处http://blog.csdn.net/hackooo/article/details/8702156 谢谢!新浪微博:小灰马主要内容1.源码阅读2.动态内存分配之边界标识法3.PHP内存管理浅析1.源码阅读http://lxr.php.netcscopecscope 是一个 C 语言的浏览工具,通过这个工具可以很方便地原创 2013-03-21 17:46:53 · 2301 阅读 · 8 评论 -
PHP源码分析之HashTable
目录 1.前言 2.HashTable的总体结构及思路 2.1 哈希表的相关数据结构 2.2 哈希表的总体结构图 2.3 哈希表元素的析构 3.HashTable的相关API及算法 1.前言 看过PHP源码的童鞋都知道,源码里面除了zval这个最常用的结构外,另外一个就是HashTable啦。在《原创 2013-05-20 16:41:51 · 2238 阅读 · 2 评论 -
PHP源码分析之线程安全模型
欢迎转载,转载请注明出处http://blog.csdn.net/hackooo/article/details/8702156 谢谢!新浪微博:小灰马 0.前言 相信很多人跟我一样,一开始看PHP源码的时候看到一堆的TSRM_CC,TSRM_DC特别蛋疼,大多数函数的声明都会在参数末尾加个TSRM_DC,着实让像我这样以前没搞过多线程编程的很不理解。网上找了找,介绍原创 2013-04-27 16:25:08 · 3003 阅读 · 1 评论 -
PHP源码分析之启动过程
文章还没远远没写完,因为发现整个启动过程涉及太多东西了,慢慢写~慢慢更新...------------------------------------------------------------------------------------------------------------------------ PHP可以以多种方式运行,例如作为apache一个模块mod_原创 2013-04-28 18:55:27 · 2036 阅读 · 0 评论 -
Yii源码分析——yii整个工作流程
下面是我根据yii源码画的yii工作流,这里只涉及一些基本的组件,其它组件是在使用时用到,没在这个工作流中体现出来。这图是用微软的viso画的,点击下载vsd原图靠,坑爹的csdn,传张图片竟然显示不出来!还得自己手动搞个外链的,这博客有点垃圾!算了, 用360云盘搞个外链吧。原创 2012-11-09 14:38:25 · 1250 阅读 · 0 评论 -
Yii源码分析——collections
framework/collections包 主要包含一些常用的数据结构,有CTypeListCTypeMapCAttributeCollectionCConfigurationCListCMapCQueueCStackCListIteratorCMapIteratorCQueueIteratorCStackIterator1.CList 1.CList 把数组(数原创 2012-09-22 00:19:59 · 1196 阅读 · 0 评论 -
计算两路径的相对路径
需求:给定绝对路径A和绝对路径B,计算B相对于A的路径,例如A=/srv/test/ , B=/srv/foo/bar ,则结果为 ../foo/bar 。思路:把A和B中具有相同的前面部分全部去掉,A中剩下的部分,有几个目录就替换为几个 ../ ,再把结果拼上 B的剩余部分就是结果。从PHP手册看到有人写的一个函数:<?php function relativePath($f原创 2013-08-06 13:09:51 · 969 阅读 · 1 评论