jquery源码分析之扩展函数 extend, $.extend

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/525好久没写jquery源码的内容了..jquery的发展有很大因素是因为它非常易于扩展,究其原因就得益于 extend函数该函数是一个扩展函数…说是一个扩展函数,其实就是一个浅拷贝和深拷贝的函数而已.该函数 确实很强大,而且写的很优雅..先来看看用法,有三种用法.1、$.extend(dest,src1,src2,src3…);2、$.extend(src)3、$.extend(boolean,dest,src1,src2,src3 阅读全文
posted @ 2012-04-14 21:49 斯人- 阅读(332) 评论(0) 推荐(1) 编辑

原:PHP的执行流程,PHP扩展加载过程

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/535为了以后能够明白的开发PHP扩展..就一定要了解PHP的执行顺序..这篇文章就是为C开发PHP扩展做铺垫.web环境 我们假设为 apache.在编译PHP的时候,为了能够让Apache支持PHP,我们会生成一个mod_php5.so的模块.apache加载这个模块..在url访问.php文件的时候就会转给mod_php5.so模块来处理.这个玩意是什么..就是我们常说的SAPI英文名字是:Server abstraction A 阅读全文
posted @ 2012-04-14 21:47 斯人- 阅读(325) 评论(0) 推荐(0) 编辑

PHP内核函数研究之 intval

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/520趁热打铁 顺便说说 intval函数.该函数好像我们用的最多的就是在POST或者GET某个参数的时候,将其强制转换为int型,为了保证我们传入到SQL的时候是一个整形.,当然这只是其中一种用法..该函数接受两个参数,第一个是要转换的字符串,第二个要转换成的进制数,默认为十进制.我们先用PHP 来看看它的用法.class a{ public $b; function c(){ } } $a=new a()... 阅读全文
posted @ 2012-04-08 21:55 斯人- 阅读(355) 评论(0) 推荐(0) 编辑

原:PHP数组函数研究:is_null,is_object,is_array,is_string,is_resource等

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/516前面有一篇文章 讲的是PHP内核源码分析:isset与 empty但是好像忘记了一系列is函数如is_null,is_object,is_array,is_string,is_resource,is_bool,is_long,is_float今天就补充一下..他们的判断方法是一样的,只讲一个is_null其他的就能明白了.is_null是一个函数.定义在 ext/standard/type.c文件中.所有 类型的操作都在这个文件里 阅读全文
posted @ 2012-04-08 21:52 斯人- 阅读(680) 评论(0) 推荐(0) 编辑

PHP内核研究之类的成员属性和方法

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客在CSDN也会同步更新的哦.欢迎转载,转载请注明出处上一章讲到类的实现这一篇要详细讲讲PHP类的成员属性及方法.上一篇中曾经介绍到zend_do_begin_class_declaration这个函数,它用来创建并初始化一个zend_class_entry类的所有信息都保存在这个结构中,那么 属性和方法是怎么保存的呢?class Person{ public $name; }还记得上一篇说过的zend_initialize_class_data函数吗?不记得也没关系.我们仔细来瞧瞧这个函数ze... 阅读全文
posted @ 2012-03-10 21:51 斯人- 阅读(272) 评论(0) 推荐(0) 编辑

原创:PHP内核研究之类的实现

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在CSDN也会同步更新的哦.欢迎转载,转载请注明出处 这几天比较忙哦..没有时间写..周末了多写几篇吧.目前大部分语言都支持类.类是什么?类就是面向对象,简称OOP.英文名字 Object Oriented Programming.面向对象是什么?是一种编程架构.OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成,OOP达到了软件工程的三个目标:重用性、灵活性和扩展性.因为我们讲的不是这里只简单描述,如果你还不知道什么是类,什么是面向对象..那么这篇文章目前不适合你哦.[ph 阅读全文
posted @ 2012-03-10 19:48 斯人- 阅读(348) 评论(0) 推荐(0) 编辑

原:PHP内核研究 函数的返回值

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客在CSDN也会同步更新的哦.欢迎转载,转载请注明出处上一节讲到 函数的参数下面继续分析函数的返回值..从根本来说,PHP的每个函数或方法都存在返回值,可能有的时候不写return,这个时候 会返回NULL.[php]function test(){ return 1;}[/php]经过分析找到token[c]T_RETURN ';' { zend_do_return(NULL, 0 TSRM LS... 阅读全文
posted @ 2012-03-10 19:45 斯人- 阅读(217) 评论(1) 推荐(0) 编辑

原:PHP内核研究 函数的参数

摘要: 在上一节中,分析了函数的定义,函数的定义只是将函数名注册到函数列表的过程.下面继续分析函数的参数.如果没有看就移步到>>原:PHP内核研究 函数的定义,,function $test($arg=11){}还是要看Lex的语法分析[c]unticked_function_declaration_statement: function is_reference T_STRING { zend_do_begin_function_declaration(&$1, &$3, 0, $2.op_type, NULL TSRMLS_CC); } ... 阅读全文
posted @ 2012-03-10 19:44 斯人- 阅读(272) 评论(0) 推荐(0) 编辑

原:PHP内核研究 函数的定义

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客在CSDN也会同步更新的哦.欢迎转载,转载请注明出处PHP中,函数的定义 是用关键字 function来定义的.function hello($str){echo $str;}在/zend/zend_language_parse.y中找到 关键字 T_FUNCTION[c]function: T_FUNCTION { $$.u.opline_num = CG(zend_lineno); };[/c]发现这个只是用来保存当前函数设置的位置的..而真正parse的地方在哪里?我找了很久没找到,不... 阅读全文
posted @ 2012-03-10 19:43 斯人- 阅读(175) 评论(0) 推荐(0) 编辑

原创:PHP内核研究:数组的创建

摘要: 声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客在CSDN也会同步更新的哦.欢迎转载,转载请注明出处PHP之所以发现这么迅速,有很大原因是因为数组数据非常好处理,而且它可以存储其他类型的数据数组的值存储在zvalue_value.ht字段中,ht是一个HashTable的数据有关于HashTable的知识请移步 >>HASH表和变量我们来详细说一下数组PHP里面所有的数据都离不开zval和HashTable,一个PHP很简单的数组初始化,在C语言里面实现的却没有那么简单.经过简单分析,找到数组的初始化的opcode在Zend/zend_vm 阅读全文
posted @ 2012-03-10 19:43 斯人- 阅读(318) 评论(0) 推荐(0) 编辑