php - apc和文件缓存类 01 November 2010 23:51 Monday by 小屋 浏览(907)

// 收集到的一篇不错的PHP缓存实现。实现了apc和文件缓存,继承Cache_Abstract即可实现调用第三方的缓存工具。

<?php
class CacheException extends Exception {}
/**
* 缓存抽象类
*/
abstract class Cache_Abstract {
/**
     * 读缓存变量
     *
     * @param string $key 缓存下标
     * @return mixed
     */
     abstract public function fetch($key);

/**
     * 缓存变量
     *
     * @param string $key 缓存变量下标
     * @param string $value 缓存变量的值
     * @return bool
     */

阅读全文>>

thinkphp 使用技巧总结 - 快速入门 20 August 2010 11:11 Friday by小屋 浏览(1975)

在比较了下Zend Framework、CakePHP等框架后,我认为ThinkPHP的开发效率最高,代码最为简洁,最适合中小型项目开发。


1. 模板中不能使用的标签
{$content} {$i}
2. If标签
如: <if condition="$name eq 1 ">
试验后总是有想不到的错误, 这样,还不如直接用<?php if(...){ ...?>来得快些呢.

约定:
1.所有类库文件必须使用.class.php作为文件后缀,并且类名和文件名保持一致
2.控制器的类名以Action为后 缀
3.模型的类名以Model为后缀,类名第一个字母须大写
4.数据库表名全部采用小写,

如:
数据表名: 前缀_表名

阅读全文>>

比较好的smarty文章 功能俱全 25 March 2010 20:14 Thursday by小屋 浏览(1307)

 

  • 1 变量调节器
  • 2 capitalize首字母大写
  • 3 count_characters字符计数
  • 4 cat连接字符串
  • 5 count_paragraphs计算段数
  • 6 count_sentences计算句数
  • 7 count_words计算词数
  • 8 date_format格式化日期
  • 9 default默认值
  • 10 escape编码转换
  • 11 indent[缩进]
  • 12 lower小写
  • 13 nl2br换行符替换
  • 14 regex_replace正则替换
  • 15 replace替换
  • 16 spacify插空
  • 17 string_format字符串格式化
  • 18 strip去除(多余空格)
  • 19 strip_tags去除html标签
  • 20 truncate截取
  • 21 upper大写
  • 22 wordwrap 行宽约束

 

变量调节器

变量调节器用于变量,自定义函数和字符串。请使用‘|’符号和调节器名称应用调节器。变量调节器由赋予的参数值决定其行为。参数由‘:’符号分开。 例 5-1.调节器的例子

{* 把标题变为大写 *}
 
<h2>{$title|upper}</h2>
 
{* 截取40个字符,用省略号代替后面的文字 *}

阅读全文>>

PHP服务器变量$_SERVER详解 08 January 2010 16:37 Friday by小屋 浏览(1155)

  服务器变量 $_SERVER 详解:

 

1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名

2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

3、$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。

4、$_SERVER['argv'] -- 传递给该脚本的参数。我试了下,get方法可以得到$_SERVER['argv'][0];post方法无法给他赋值。

5、$_SERVER['SERVER_NAME'] -- 返回当前主机名。

6、$_SERVER['SERVER_SOFTWARE'] -- 服务器标识的字串,在响应请求时的头信息中给出。 如Microsoft-IIS/6.0

7、$_SERVER['REQUEST_METHOD'] -- 访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

8、$_SERVER['QUERY_STRING'] -- 查询(query)的字符串(URL 中第一个问号 ? 之后的内容)。

9、$_SERVER['DOCUMENT_ROOT'] -- 当前运行脚本所在的文档根目录。在服务器配置文件中定义。 如E:\server

10、$_SERVER['HTTP_ACCEPT'] -- 当前请求的 Accept: 头信息的内容。

11、$_SERVER['HTTP_ACCEPT_CHARSET'] -- 当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,*,utf-8”。

12、$_SERVER['HTTP_ACCEPT_ENCODING'] -- 当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。

13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] -- 当前请求的 Accept-Language: 头信息的内容。例如:“en”。

14、$_SERVER['HTTP_CONNECTION'] -- 当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”

阅读全文>>

PHP100编程安全性小结 31 December 2009 23:03 Thursday by小屋 浏览(1014)

 

  规则 1:绝不要信任外部数据或输入

  关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。

  对用户输入进行清理的一个简单方法是,使用正则表达式来处理它。

  规则 2:禁用那些使安全性难以实施的 PHP 设置

  已经知道了不能信任用户输入,还应该知道不应该信任机器上配置 PHP 的方式。例如,要确保禁用 register_globals。如果启用了 register_globals,就可能做一些粗心的事情,比如使用 $variable 替换同名的 GET 或 POST 字符串。通过禁用这个设置,PHP 强迫您在正确的名称空间中引用正确的变量。要使用来自表单 POST 的变量,应该引用 $_POST['variable']。这样就不会将这个特定变量误会成 cookie、会话或 GET 变量。

  要 检查的第二个设置是错误报告级别。在开发期间,希望获得尽可能多的错误报告,但是在交付项目时,希望将错误记录到日志文件中,而不是显示在屏幕

阅读全文>>