thinkphp钩子的实现

钩子概念对初学者来说可能比较抽象难懂,但是只要掌握了他的工作方式,那么自己动手写一个钩子机制也不难。 Hook这个词很有意思,以下引用自某网络词典: Hook用作名词时意思是“钩”,转化为动词时可表示把某物弯成钩形,也可表示用弯曲的东西把某物体钩住,引申可表示为“吊”“挂”等。 作为一个程序猿,老高对钩子的解释是,他就是一个触发机制,把你的软件功能想象成一个陷阱,放到##系统流程##可能经过的路上,如果陷阱被系统踩到,就会执行你的程序,当你挂载的钩子执行完后,系统会根据你的程序的结果继续运行。 老高最早接触Hook的编程思想是源于windows,当时打dota很入迷,突然想研究一下改键的原理,于是发现了系统钩子这一说法。 改键的原理,简单地说来就是拦截系统按下键盘时的默认动作,如果需要把小键盘的7映射到Q上,就在拦截时做一个判断,如果的键码是小键盘7,就改为Q的键码,最后发送给系统修改后的键码,即完成了改键操作。 钩子机制的使用在很多系统上都有体现,如windows、wordpress、thinkphp等,由钩子实现的功能在wordpress中叫做插件,在TP中叫做行为。 ...

September 29, 2014 · 1 min · Me

thinkphp框架解析0----起源

THINKPHP是国人开发的PHP框架,如今终于深入内部打探了一番,下面给大家分享老高的心得。 ...

September 25, 2014 · 2 min · Me

thinkphp验证码不显示

今天解决了一个验证码不显示的问题,值得大家注意 ...

July 10, 2014 · 1 min · Me

在thinphp的模板中使用U方法传递参数

在模板里生成URL如果需要用到模板里的参数时,使用下面代码即可 {:U('Index/getInfo',array('userid'=>$userid))} 如果变量有嵌套,那就要用"[]“代替模板中的”." {:U('Index/getInfo',array('userid'=>$user['id']))} 

June 26, 2014 · 1 min · Me

开发中经常用到的代码

[TOC] 短链接 http://surl.sinaapp.com/引入百度CDN公共库 地址:http://t.cn/zYDC8wj引入文件 <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script src="http://libs.baidu.com/bootstrap/2.0.4/js/bootstrap.min.js"></script> <link href="http://libs.baidu.com/bootstrap/2.0.4/css/bootstrap.min.css" rel="stylesheet"> <script src="http://libs.baidu.com/jquerytools/1.2.7/jquery.tools.min.js"></script> PHP //申明页面编码开启session并设置时区 session_start(); header("Content-Type: text/html; charset=UTF-8"); ini_set('date.timezone','Asia/Shanghai'); // //windows下这个页面执行时间还是在php.ini里控制,修改max_execution_time。 set_time_limit(0); //获取变量的整数值 intval('adasdasd'); //heredoc==双引号 $name=MyName; echo <<<EOT My name is "$name". I am printing some $foo->foo. Now, I am printing some {$foo->bar[1]}. This should print a capital 'A': \x41 EOT; /* 以上例程会输出: My name is "MyName". I am printing some Foo. Now, I am printing some Bar2. This should print a capital 'A': A */ //Nowdoc==单引号 echo <<<'EOT' My name is "$name"....

March 3, 2014 · 4 min · Me