自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

转载 24.Yii 组件行为

1.先定义一个 行为类:class ApplicationBehavior extends CBehavior{ public function beginRequest123($event) { echo "我已经将 onBeginRequest 的事件处理通过行为绑定了123"; var_dump($event); }}

2017-01-25 21:15:34 296

转载 23. Yii 组件事件

组件事件 [php]public function onClicked($event){ $this->raiseEvent('onClicked', $event);}这里作为事件参数的 $event 是 [CEvent] 或其子类的实例。我们可以附加一个方法到此 event,如下所示:[php]$component->onClicked=$callback;这里的 $callb

2017-01-23 15:47:51 368

转载 140.匿名函数

create_function 内部执行 eval(),所以与 eval()有一样的问题。参数:使用单引号分割,双引号会被解析。如果使用双引号,需转义。示例:<?php$a = create_function('$a,$b','return $a+$b;');var_dump($a);echo $a(2,3);闭包(closures)<?php$ret = function($a, $

2017-01-23 15:06:30 280

转载 22. Yii 组件属性

CComponent类就是组件,它为整个框架的组件编程和事件驱动编程提供了基础,YII框架中的大部分类都将CComponent类作为基类。CComponent类为它的子类提供3个特性:1.成员变量扩展 初始化时,注册核心组件 加载应用配置 import : modules: components: params: 2.事件模型 3.

2017-01-22 13:34:15 293

转载 3.ulimit

获取和设置 用户限制语法格式:ulimit [-acdfHlmnpsStvw] [size]-H 设置硬件资源限制.-S 设置软件资源限制.-a 显示当前所有的资源限制.-c size:设置core文件的最大值.单位:blocks-d size:设置数据段的最大值.单位:kbytes-f size:设置创建文件的最大值.单位:blocks-l size:设置在内存中锁定进程的最大值.单

2017-01-21 23:59:25 208

转载 10.指针

未初始化和非法的指针:int *a;...*a = 12;如果变量是静态的,它会被初始化为0.如果是自动的,不会初始化。如果运气好,那么a的初始值会是一个非法地址。unix系统上会提示,段违例(segmentation violation)或者内存错误(memory fault)。它提示程序正在试图访问一个并未分配给程序的内存位置。更为严重的是,分配给了一个合法地址,接下来的那个位置的值

2017-01-21 16:28:24 225

转载 33. 数据类型转换

可用看出如果字符串链接的两个操作数如果不是字符串的话, 则调用zend_make_printable_zval函数将操作数转换为"printable_zval"也就是字符串。ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_copy){ if (Z_TYPE_P(expr)==IS_ST

2017-01-20 22:18:13 301

转载 32.global语句

| T_GLOBAL global_var_list ';'global_var_list: global_var_list ',' global_var { zend_do_fetch_global_variable(&$3, NULL, ZEND_FETCH_GLOBAL_LOCK TSRMLS_CC); }| global_var

2017-01-20 22:14:55 300

转载 31.变量的作用域

http://www.php-internals.com/book/?p=chapt03/03-06-02-var-scope

2017-01-20 22:11:46 200

转载 30.变量的赋值和销毁

static zend_always_inline zval **_get_zval_ptr_ptr_cv(const znode *node, const temp_variable *Ts, int type TSRMLS_DC){ zval ***ptr = &CV_OF(node->u.var); if (UNEXPECTED(*ptr == NULL)) {

2017-01-20 22:08:19 329

转载 29.变量的生命周期

http://www.php-internals.com/book/?p=chapt03/03-06-00-var-lifecycle

2017-01-20 21:53:15 248

转载 28.类型提示的实现

static int ZEND_FASTCALL ZEND_RECV_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS){ ...//省略 if (param == NULL) { char *space; char *class_name = get_active_class

2017-01-20 21:50:38 290

转载 27.静态变量

| T_STATIC static_var_list ';'static_var_list: static_var_list ',' T_VARIABLE { zend_do_fetch_static_variable(&$3, NULL, ZEND_FETCH_STATIC TSRMLS_CC); } | static_var_list ',' T_VARIABLE

2017-01-20 21:42:28 238

转载 26.预定义变量

... // 省略zend_hash_init(&EG(symbol_table), 50, NULL, ZVAL_PTR_DTOR, 0);{ zval *globals; ALLOC_ZVAL(globals); Z_SET_REFCOUNT_P(globals, 1); Z_SET_ISREF_P(globals); Z_TYPE_P(globals

2017-01-20 21:24:21 490

转载 7.取字符子串函数实现

int substr( char dst[], char src[], int start, int len){ int srcindex; int dstindex; dstindex = 0; if ( start >= 0 && len > 0) { for ( srcindex = 0; srcindex < start && src[srcin

2017-01-20 00:40:12 718

转载 6.判断三角形

#include <stdlib.h>#include <stdio.h>int main(){ float a; float b; float c; float temp; //重新排列 a,b,c if( a < b ){ temp = a; a = b;

2017-01-20 00:25:11 170

转载 25.常量

typedef struct _zend_constant { zval value; /* zval结构,PHP内部变量的存储结构,在第一小节有说明 */ int flags; /* 常量的标记如 CONST_PERSISTENT | CONST_CS */ char *name; /* 常量名称 */ uint name_len; int modul

2017-01-20 00:03:49 221

转载 24.链表简介

typedef struct _zend_llist_element { struct _zend_llist_element *next; struct _zend_llist_element *prev; char data[1]; /* Needs to always be last in the struct */} zend_llist_element;typed

2017-01-19 23:48:57 235

转载 9.语句和表达式

空语句 : 一个分号 ;表达式语句: x = y+3;y+3; //当这语句被执行,结果并不被保持因为没有使用赋值操作符副作用(side effect)a++; // 语句没被赋值,但是 a加1了,这就是副作用代码块:{ ...}if 语句 :if (expression) statementelse statementc语言不具备 布尔类型,用0表示假,

2017-01-19 00:09:48 737

转载 23.PHP的哈希表实现

typedef struct _hashtable { uint nTableSize; // hash Bucket的大小,最小为8,以2x增长。 uint nTableMask; // nTableSize-1 , 索引取值的优化 uint nNumOfElements; // hash Bucket中当前存在的元素个数,count()

2017-01-18 23:51:34 484

转载 22.哈希表(HashTable)

初始化的主要工作是为哈希表申请存储空间,函数中使用calloc函数的目的是确保 数据存储的槽为都初始化为0,以便后续在插入和查找时确认该槽为是否被占用。int hash_insert(HashTable *ht, char *key, void *value){ // check if we need to resize the hashtable resize_hash_tab

2017-01-18 23:41:10 336

转载 21.变量的结构和类型

typedef struct _zval_struct zval;...struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount__gc; zend_uchar type; /* active type */

2017-01-17 23:59:50 316

转载 20.变量及数据类型

http://www.php-internals.com/book/?p=chapt03/03-00-variable-and-data-types

2017-01-17 23:38:31 270

原创 20.Yii 工作流

1. 应用程序统一入口文件 index.php 2.创建一个 web 应用并执行 CConsoleApplication, CWebApplication 都继承了 CApplication初始化应用时,将配置文件的名字作为参数传递给应用的构造器Tip|提示: 如果应用配置非常复杂,我们可以把它分割为若干文件,每个文件返回配置数组中的一部分。 然后,在主配置文件中,我们调用PHP的 in

2017-01-12 17:06:16 1302

转载 139. php://

php://stdin while ($line = fopen('php://stdin','r')) { echo fgets($line);}

2017-01-12 15:44:32 334

转载 2.tcpdump(2)

实用命令实例监视指定网络接口的数据包tcpdump -i eth1 // 如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口监视指定主机的数据包tcpdump host sundown // 打印所有进入或离开sundown的数据包.tcpdump host 210.27.48.1 // 也可以指定ip,例如截获所有210.27.48.1 的主

2017-01-12 13:21:14 249

转载 2.tcpdump(1)

tcpdump - 显示网络负载用法概览tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ][ -C file_size ] [ -F file ][ -i interface ] [ -m module ] [ -M secret ][ -r file ] [ -s snaplen ] [ -T type ] [ -w file ][ -W file

2017-01-11 11:59:27 252

转载 8.C与指针(1)

1.1.2 预处理指令#include <stdlib.h>预处理器用名叫 stdlib.h 的头文件内容替换 #include 指令语句,仿佛就是stdlib.h的内容被写到源文件那个位置。stdlib.h 定义了 EXIT_SUCCESS 和 EXIT_FAILURE#define MAX_COLS 20函数原型:void rearrange(char *output, char cons

2017-01-09 23:41:41 278

转载 17. shell 脚本

script 执行方式的区别(source, sh script, ./script)直接执行,无论是相对命令还是绝对命令,或者利用 bash(或 sh )执行,该script 都会使用一个新的bash环境来执行脚本内的命令。子进程的各项变量或者操作都将结束,而不会回传给父进程。利用 source 来执行脚本:在父进程中执行利用 test 命令的测试功能1. 关于某个文件名的『类型』侦测(存在与否

2017-01-09 22:43:52 289

转载 19.opcode处理函数查找

ZEND_API void execute(zend_op_array *op_array TSRMLS_DC){...zend_vm_enter:....if ((ret = EX(opline)->handler(execute_data TSRMLS_CC)) > 0) { switch (ret) { case 1:

2017-01-08 23:32:00 376

转载 18.opcode

struct _zend_op { opcode_handler_t handler; // 执行该opcode时调用的处理函数 znode result; znode op1; znode op2; ulong extended_value; uint lineno; zend_uchar opcode; // opcode代码};voi

2017-01-08 23:27:25 257

转载 17.词法分析和语法分析

定义段%%规则段%%用户代码段例如以下一个用于统计文件字符、词以及行数的例子:%option noyywrap%{int chars = 0;int words = 0;int lines = 0;%}%%[a-zA-Z]+ { words++; chars += strlen(yytext); }\n { chars++; lines++; }. { chars++;

2017-01-08 23:20:45 674

转载 16.PHP脚本的执行

<?php$code =<<<PHP_CODE<?php$str = "Hello, Tipi\n";echo $str;PHP_CODE;var_dump(token_get_all($code));运行上面的脚本你将会看到一如下的输出array ( 0 => array ( 0 => 368, // 脚本开始标记 1 => '<?php /

2017-01-08 22:46:57 331

转载 16.ctags

http://blog.csdn.net/bokee/article/details/6633193/etc/vim/vimrc添加 map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>set tags=./tags,tags; //解决只在当前目录查找 tags 文件

2017-01-07 23:59:10 315

转载 1.strace

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。每一行都是一条系统调用,等号左边是系统调用的函数名及其参数,右边是该调用的返回值。

2017-01-06 13:52:44 337

转载 1. 解决问题的能力

这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将解决问题能力分为8个等级,越到后面的表示能力越强。ini_set('display_errors',1);error_reporting(E_ALL); http://rango.swoole.com/ar

2017-01-06 13:16:59 832

转载 15.FastCGI

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <string.h>#define SERV_PORT 9003char *s

2017-01-06 12:56:44 315

转载 14.嵌入式

嵌入式 #include <sapi/embed/php_embed.h>#ifdef ZTS void ***tsrm_ls;#endif/* Extension bits */zend_module_entry php_mymod_module_entry = { STANDARD_MODULE_HEADER, "mymod", /* extension nam

2017-01-06 00:03:12 378

转载 13.Apache模块

static sapi_module_struct apache2_sapi_module = {"apache2handler","Apache 2.0 Handler",php_apache2_startup, /* startup */php_module_shutdown_wrapper, /* shutdown */NULL,

2017-01-05 13:41:25 289

转载 12.第二节 SAPI概述

SAPI概述 struct _sapi_module_struct { char *name; // 名字(标识用) char *pretty_name; // 更好理解的名字(自己翻译的) int (*startup)(struct _sapi_module_struct *sapi_module); // 启动函数 int (

2017-01-04 23:31:09 345

linux下vim使用详解.pdf

不要试图从本手册中去获取什么知识,使用Vim更多的是一种技能而 不是一种知识,Vim的学习需要的更多的不是头脑而是双手,经常按书中 的指示进行示例性的操作,在学习Vim众多精致的技巧时,不要贪图一下 子全都掌握,最好是看一条技巧后,马上在编辑器上进行操作,这样在以 后实际的编辑操作时你的手指就会建立一种自然的反应而不是由头脑来搜 索该使用哪一条操作技巧。建议读者不动手来不读书。如果手边没有一 个合适的Vim编辑器环境可供操练,那么建议读者还是不要在这里浪费时 间。

2014-04-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除