新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  PHP

摘要:meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和keywords(分类关键词),所以应该给每页加一个meta值。比较常用的有以下几个: name 属性 1、<meta name=&quo 阅读全文

posted @ 2013-02-17 10:59 张贺 阅读(1394) 评论(0) 推荐(0) 编辑

摘要:VIM+Xdebug调试php1.安装Xdebugsudo apt-get install php5-xdebug2.配置Xdebug编辑/etc/php5/apache2/conf.d/xdebug.ini,加入xdebug.remote_enable = 1xdebug.remote_port = 9000xdebug.remote_host = localhost3.安装vim插件DBGp下载页面: http://www.vim.org/scripts/script.php?script_id=1929下载后放入plugins目录中即可。4.在浏览器中打开要调试的php页面,在URL后加 阅读全文

posted @ 2013-02-03 03:28 张贺 阅读(653) 评论(0) 推荐(0) 编辑

摘要:常用配置xdebug.var_display_max_children整数类型,默认值128。用于控制通过xdebug_var_dump(),var_dump()方法时显示数组中子数组的个数或对象中属性的个数,设定为-1关闭该限制。xdebug.var_display_max_data整数类型,默认值521。用于控制xdebug_var_dump(),var_dump()方法时显示输出的字符串的长度,设定为-1关闭该限制。xdebug.var_display_max_depth整数类型,默认值3。用于控制通过xdebug_var_dump(),var_dump()方法时打印数组或对象时显示的层 阅读全文

posted @ 2013-02-03 03:22 张贺 阅读(13918) 评论(0) 推荐(0) 编辑

摘要:PHP5.3或之前版本可以去pecl(http://pecl.php.net)下载xhprof扩展安装。但pecl上的版本不支持PHP5.4可以到github上的xhprof库中下载:https://github.com/facebook/xhprof下载后进行解压安装1 cd xhprof-master/extension/2 phpize3 ./configure --enable-xhprof4 make5 sudo make install更改php.ini1 [xhprof]2 extension=xhprof.so3 xhprof.output_dir="/documen 阅读全文

posted @ 2013-01-31 20:50 张贺 阅读(4782) 评论(0) 推荐(0) 编辑

摘要:1 <?php 2 require_once 'custom/modules/Documents/views/view.edit.php'; 3 require_once 'modules/Documents/Document.php'; 4 /** 5 * Test Class 6 */ 7 class CustomDocumentsViewEditTest extends Sugar_PHPUnit_Framework_TestCase 8 { 9 public function provider()10 {11 return array(12 ... 阅读全文

posted @ 2013-01-31 16:51 张贺 阅读(1122) 评论(0) 推荐(0) 编辑

摘要:Clearing the Pear Cache helps, also in summary:a) Text_Template has to be uninstalled before Mock_Object which it depends onb) Token_Stream also has to be uninstalled as version 1.0.1 has to be installed before Code_Coverage which installs 1.1.1 as Scott put itc) Text_Template has to be installed be 阅读全文

posted @ 2012-08-22 00:09 张贺 阅读(1111) 评论(0) 推荐(0) 编辑

摘要:Smarty内置一个调试控制器,通过调试控制器,你可以获取当前模版页面中所有的变量信息:包括include进来的模版信息,所有在php脚本中assign过的变量以及当前模版页面请求的所有配置文件中的变量,但是不会获取在模版页中通过{assign}内置方法定义的变量信息。打开调试控制器:1.通过设置smarty的$debugging值为TRUE:1 $smarty->debugging = true;2.通过修改$debugging_ctrl变量,该变量接受两个值:NONE和URL,当设置为NONE时,不会启动调试程序;当设定值为URL时,如果在url地址栏中发现SMARTY_DEBUG请 阅读全文

posted @ 2012-06-12 20:21 张贺 阅读(3014) 评论(0) 推荐(1) 编辑

摘要:官方文档对缓存技术的介绍:缓存被用来保存一个文档的输出从而加速display()或fetch()函数的执行。如果一个函数被加进缓存,那么实际输出的内容将用缓存来代替。缓存可让事物非常快速的执行,特别是带有长计算时间的模板。一旦display()或fetch()用缓存输出,那么一个缓存文档将非常容易用几个模板文档或是配置文档等来组成〔功力不小〕。一旦模板是动态〔应该不难理解〕的,哪些文档你加了缓存,缓存时间多长都是很重要的。举个例子,比如你站点的首页内容不是经常更改,那么对首页缓存一个小时或是更长都可得到很好效果。相反,几分钟就要更新一下信息的天气地图页面,用缓存就不好了。设置缓存目录在使用缓存 阅读全文

posted @ 2012-06-12 20:19 张贺 阅读(3308) 评论(0) 推荐(2) 编辑

摘要:Smarty的模版编译是它最强大的功能之一,当第一次读取模版文件时,Smarty会依据你的模版文件在编译目录中自动创建相应的PHP脚本文件,即编译文件,当你再次访问模版文件时,Smarty读取的是编译后的文件,而不是真正的模版文件,同时它会自动判断模版文件是否有过更新,如果模版文件已被更新,则它会从新生成新的编译文件。关于编译文件的一些属性及方法$compile_dir用于设定存储编译文件的路径信息,默认./templates_c,即当前PHP脚本所在目录下的templates_c目录。如:1 $smarty->compile_dir = 'lib/smarty/template 阅读全文

posted @ 2012-06-12 20:08 张贺 阅读(2853) 评论(0) 推荐(0) 编辑

摘要:设置配置文件Smarty配置文件用于存放全局变量,例如将模版颜色存放到配置文件中,这样,当修改模版颜色时,不需逐个的去修改每个模版,而是直接修改配置文件既可。配置文件格式如下: 1 # global variables 2 pageTitle = "Main Menu" 3 bodyBgColor = #000000 4 tableBgColor = #000000 5 rowBgColor = #00ff00 6 7 [Customer] 8 pageTitle = "Customer Info" 9 10 [Login]11 pageTitle = 阅读全文

posted @ 2012-06-12 20:04 张贺 阅读(4094) 评论(0) 推荐(0) 编辑

摘要:PHP进阶技术交流群 170855791 欢迎加入讨论技术 阅读全文

posted @ 2012-05-19 10:37 张贺 阅读(379) 评论(0) 推荐(0) 编辑

摘要:PHP内建方法{$var=...}该方法是{assign}的简写模式,用来直接在模版中定义一个变量。属性:scope: parent\root\global支持nocache{append}在调用模版的过程中向模版变量中创建一个数组变量,或者向一个已知的数组变量中追加元素,支持nocache标签属性:var 变量名value 变量值index 插入的变量在数组中的下标索引,如果没指定该值,则默认添加在数组的最后scope 访问权限支持nocache标签{assign}作用与{$var=...}相同属性var 定义的变量名value 定义的变量值scope 访问权限支持nocache标签{cal 阅读全文

posted @ 2012-05-17 17:58 张贺 阅读(612) 评论(0) 推荐(0) 编辑

摘要:Smarty内置变量除了调用assign()方法向模版文件中传递变量,Smarty还设置了一些常用的内置变量:获取请求变量值:$_GET, $_POST, $_COOKIE, $_SERVER, $_ENV 及 $_SESSION 1 <{* 获取URL中的GET数据 ($_GET) http://127.0.0.1/test/index.php?page=foo *}> 2 <{$smarty.get.page}> 3 4 <{* 获取POST数据 ($_POST['page']) *}> 5 <{$smarty.post.page} 阅读全文

posted @ 2012-05-17 15:28 张贺 阅读(671) 评论(0) 推荐(0) 编辑

摘要:一、安装注:这里所使用的Smarty是3.x版本,要求PHP版本为5.2或者更高。解压下载下来的Smarty压缩文件,将文件里lib目录下的所有文件复制到项目中的指定目录中,例如"/lib/Smarty/"目录下,在项目中引入"Smarty.class.php"文件后既可使用。在Smarty内部会自动定义一个名为SMARTY_DIR的常量,该常量默认指向Smarty.class.php所在的绝对路径,可以通过自行设定该值来改变默认值,如:define('SMARTY_DIR','/lib/smarty/')。注:SMART 阅读全文

posted @ 2012-05-16 17:08 张贺 阅读(3563) 评论(0) 推荐(2) 编辑

摘要:首先我们要知道明确单例模式这个概念,那么什么是单例模式呢?单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类我们称之为单例类。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。下面我们讨论下为什么要使用PHP单例模式?多数人都是从单例模式的字面上的意思来理解它的用途, 认为这是对系统资源的节省, 可以避免重复实例化, 是一种"计划生育".而PHP每次执行完页面都是会从内存中清理掉所有的资源. 因而PHP中的单例实际每次运行都 阅读全文

posted @ 2012-05-07 11:09 张贺 阅读(319) 评论(0) 推荐(0) 编辑

摘要:Boolean验证 FILTER_VALIDATE_BOOLEAN1 <?php2 3 /*** test for a boolean value ***/4 echo filter_var("true", FILTER_VALIDATE_BOOLEAN);5 //16 ?>上面的代码输出1,因为过滤器发现了一个有效的布尔值,下面列出了其它可以返回true的值1"1""yes""true""on"TRUE下列值将会返回false0"0""no" 阅读全文

posted @ 2012-05-05 12:07 张贺 阅读(926) 评论(0) 推荐(0) 编辑

摘要:PHP过滤器包含两种类型Validation:用来验证验证项是否合法Sanitization:用来格式化被验证的项目,因此它可能会修改验证项的值,将不合法的字符删除等。input_filters_list()函数用来列出当前系统所支持的所有过滤器。1 <table>2 <tr><td>Filter Name</td><td>Filter ID</td></tr>3 <?php4 foreach(filter_list() as $id =>$filter)5 {6 echo '<tr& 阅读全文

posted @ 2012-05-04 23:50 张贺 阅读(473) 评论(0) 推荐(0) 编辑

摘要:array range ( mixed $low , mixed $high [, number $step ] )创建一个连续的数组range('a','z');foreach (range(0, 12) as $number) { echo $number;}// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)bool shuffle ( array &$array )对数组进行随机排序<?php$numbers = range(1, 20);shuffle($numbers);foreach ( 阅读全文

posted @ 2012-05-04 21:37 张贺 阅读(2750) 评论(0) 推荐(0) 编辑

摘要:PHP技术交流群170855791声明类:class GoodClass{}//类名通常使用驼峰式写法注:由于php内部定义了类stdClass,所以不能在自己的代码定名名为stdClass的类了类中的属性声明必须使用一个指明其可见性的关键字,如public。类中的方法也是如此,如果方法前没有该关键字,默认是public其实php4中也支持var $var;的方法来声明属性,而且php5中也支持这种写法,不过最好不要这么写。同时若是类中的属性在声明时被赋予了初始值,那么这个值必须是常数,而且不能是表达式1 class GoodClass2 {3 public $var1 = 123;//正确4 阅读全文

posted @ 2012-04-25 15:51 张贺 阅读(1232) 评论(0) 推荐(0) 编辑

摘要:PHP技术交流群170855791本文介绍的是PHP程序员需要掌握的一些知识。介绍了20个方面的知识,希望对你有帮助,一起来看作为PHP的爱好者,如果你想加入PHP程序的世界,一定要做好充分的准备。建议大家阅读一篇文章,如果想进入大的企业进行底层开发的话必须对互联网各方面的技术原理了解的很清楚,例如apache实现原理。语言方面既然是php开发自然对 c/c++要求比较高。往往需要自己写php扩展。使用mysql自然想很多常见的,性能瓶颈要能有很好的解决方案。mysql 插件编写,apache模块编写。联系起来结合点还是要会c。倘若是做中间层和前端工作则要求对css,javascript要求比 阅读全文

posted @ 2012-04-25 10:16 张贺 阅读(403) 评论(0) 推荐(0) 编辑