Work more with less complain
In: yii
8 三 2010 Yii 是什么
Yii 是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程。Yii(读作“易”)代表简单(easy)、高效(efficient)、可扩展(extensible)。
需求
要运行一个基于 Yii 开发的 Web 应用,你需要一个支持 PHP 5.1.0 (或更高版本)的 Web 服务器。
对于想使用 Yii 的开发者而言,熟悉面向对象编程(OOP)会使开发更加轻松,因为 Yii 就是一个纯 OOP 框架。
Yii 适合做什么?
Yii 是一个通用 Web 编程框架,能够开发任何类型的 Web 应用。它是轻量级的,又装配了很好很强大的缓存组件,因此尤其适合开发大流量的应用,比如门户、论坛、内容管理系统(CMS)、电子商务系统,等等。
Yii 和其它框架比起来怎样?
和大多数 PHP 框架一样,Yii 是一个 MVC 框架。
Yii 以性能优异、功能丰富、文档清晰而胜出其它框架。它从一开始就为严谨的 Web 应用开发而精心设计,不是某个项目的副产品或第三方代码的组合,而是融合了作者丰富的 Web 应用开发经验和其它热门 Web 编程框架(或应用)优秀思想的结晶。
首先,我们来安装Yii框架。请在www.yiiframework.com上下载Yii框架文件(1.0.3版本或以上),下载后解压到/wwwroot/yii目录。确认加压后目录是这样的/wwwroot/yii/framework。
设置环境变量到 我的电脑-》右键属性-》高级-》环境变量
里面添加php到环境变量PATH里面,也就是php.exe存放路径 ,如 “C:/www/php5.3/”,这样就可以在cmd上面运行你的php命令
cmd执行:% YiiRoot/framework/yiic webapp WebRoot/testdrive 创建一个网站
数据库:
执行完后打开: /wwwroot/blog/protected/config/main.php
可以配置表前缀
首先在我们的配置文件中 /wwwroot/protected/config/main.php 中添加下面的代码:
<?php
return array(
[...]
memcached的基本设置:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcache
d服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
php.ini中的配置:
[Memcache]
; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
; 是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover = On
; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。memcache.max_failover_attempts = 20
; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size = 8192
; 连接到memcached服务器时使用的默认TCP端口。
memcache.default_port = 11211
; 控制将key映射到server的策略。默认值”standard”表示使用先前版本的老hash策略。
; [...]
下载地址:http://jehiah.cz/projects/memcached-win32/
下载编译好的。
Unzip the binaries in your desired directory (eg. c:\memcached)
Install the service using the command: ‘c:\memcached\memcached.exe -d install’ from either the command line
Start the server from the Microsoft Management Console or by running the following command: ‘c:\memcached\memcached.exe -d start’
Use the server, by default listening to port 11211
上面说明文档,
1.解压memcached(如解压到:C:\memcached)
2.memcached解压后,进入cmd命令行,进入解压目录,运行(’c:\memcached\memcached.exe -d install’)安装memcached
3.启动memcached 运行命令行:’c:\memcached\memcached.exe -d start’
4.服务,默认侦听的端口是1211
至此完成memcached的安装
打开php.ini
找到:extension=php_memcache.dll打开;装的是xampp,所以里面自带有php_memcache.dll,如果没有去网上下载一个
重启apache
运行测试例子;
<?php
$memcache = new Memcache;
$memcache->connect(‘localhost’, 11211) [...]
In: PHP
24 八 2009/*
* return an array whose elements are shuffled in random order.
*/
function custom_shuffle($my_array = array()) {
$copy = array();
while (count($my_array)) {
// takes a rand array elements by its key
$element = array_rand($my_array);
// assign the array and its value to an another array
$copy[$element] = $my_array[$element];
//delete the element from source array
unset($my_array[$element]);
}
return $copy;
}
$array = array(
'a' =&amp;amp;amp;gt;'apple',
'b' =&amp;amp;amp;gt;'ball',
'c' =&amp;amp;amp;gt;'cat',
'd' =&amp;amp;amp;gt;'dog',
'e' =&amp;amp;amp;gt;'egg',
'f' =&amp;amp;amp;gt;'fan',
'g' [...]
Zend Framework 的 PHP 编码标准
[转载] [翻译] 文章出处:http://framework.zend.com 分类:PHP 评论: 0 条 发布时间:[2008-08-03 15:36:24] 最后更新:[2008-08-03 15:47:39]
关于编码标准的利与弊我这里不再介绍,想要了解的可以用搜索引擎搜索此关键字。PHP官方一直都没有制定任何PHP编码规范,一般都是公司或则团队内部自己来定义规范。Zend Framework作为一款优秀的PHP官方框架,有着非常良好的编码规范,我相信这套规范也带有一定的官方性质,让你的团队成员认真阅读并遵循此规范,我们一样能写出Zend framework这样漂亮整洁可读性强的代码。您可以在Zend Framework的中文文档中到到此规范。感谢Zend Framework中文团队。(此段概述由本文发布者添加)
B.1. 绪论
B.1.1. 适用范围
本文档提供的代码格式和文档的指南是给参与 Zend Framework 的个人和团队使用的,许多使用 Zend Framework 的开发者 也发现编码标准很有用,因为他们的代码风格和 Zend Framework 的代码保持一致。值得注意的是它要求切实努力来全面 详细说明编码标准。 注:有时候开发者认为在最详细的设计级别上标准的建立比标准所建议的更重要。Zend Framework 编码标准的指南 实践上很好地工作于 ZF 项目。你可以根据我们的 license 中的条款来修改或使用它们。
ZF 编码标准的话题包括:
PHP File 文件格式
命名约定
编码风格
注释文档
B.1.2. 目标
编码标准对任何开发项目都很重要,特别是很多开发者在同一项目上工作。编码标准帮助确保代码的高质量、少 bug 和容易维护。
B.2.2. 缩进
缩进由四个空格组成,禁止使用制表符 TAB 。
B.2.3. 行的最大长度
一行 80 [...]
本文介绍的是用 mysql_real_escape_string对用户提交数据进行整理处理和通过addslashes以及mysql_escape_string这3个类似的功能函数的区别。经过转义的数据可以直接插入到数据库中。
很好的说明了addslashes和mysql_real_escape_string的区别,虽然国内很多PHP coder仍在依靠addslashes防止SQL注入(包括我在内),我还是建议大家加强中文防止SQL注入的检查。addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截。
当然addslashes也不是毫无用处,它是用于单字节字符串的处理,多字节字符还是用mysql_real_escape_string吧。
另外对于php手册中get_magic_quotes_gpc的举例:
if (!get_magic_quotes_gpc()) {
$lastname = addslashes($_POST[‘lastname’]);
} else {
$lastname = $_POST[‘lastname’];
}
最好对magic_quotes_gpc已经开放的情况下,还是对$_POST[’lastname’]进行检查一下。
再说下mysql_real_escape_string和mysql_escape_string这2个函数的区别:
mysql_real_escape_string 必须在(PHP 4 >= 4.3.0, PHP 5)的情况下才能使用。否则只能用 mysql_escape_string ,两者的区别是:
mysql_real_escape_string 考虑到连接的当前字符集,而mysql_escape_string 不考虑。
总结一下:
addslashes() 是强行加;
mysql_real_escape_string() 会判断字符集,但是对PHP版本有要求;
mysql_escape_string不考虑连接的当前字符集。
<!– 分页 –><!– 分页end –>
来源:PHP资讯
(在这里看到的,还是不修改直接引用过来吧, http://qtutu.com/blog/?p=332)
----以下为引用----
通常我们都用如下的sql来进行列表
SELECT COUNT(*) FROM users WHERE name LIKE ‘a%’;SELECT name, email FROM users WHERE name LIKE ‘a%’ LIMIT 10;
但是从Mysql4.0.0开始,我们可以选择使用另外一个方式:
SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE ‘a%’ LIMIT 10;SELECT FOUND_ROWS();
其中SQL_CALC_FOUND_ROWS 告诉Mysql将sql所处理的行数记录下来,FOUND_ROWS() 则取到了这个纪录。
虽然也是两个语句,但是只执行了一次主查询,所以效率比原来要高很多。
详细信息见这里 http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows
----以下为个人翻译----
FOUND_ROWS()
A SELECT statement may include a LIMIT clause to restrict the number of rows the server returns to the client. In some [...]
转自:http://www.caoxicao.cn/article.asp?id=112
IE与FireFox毕竟还是不一样的,很多时候解析HTML与JS的时候还是有差别的。比如关闭窗口这个事件,两者就很不一样,下面是找出的能同时应用于两者的onbeforeunload事件的JS代码,与大家分享。
<html><head><script language="javascript"> var blnCheckUnload = true; window.onbeforeunload = function() { if(blnCheckUnload) { return("Are You Sure?"); } }</script><body></body></html>
简单tab功能
地址:http://www.kollermedia.at/archive/2007/07/10/easy-tabs-12-now-with-autochange/
linux虚拟主机上传CGI程序时,若直接上传 DOS 格式文件,将出现错误信息。必须转为文本格式后上传,方能正常显示。通常,此类错误将造成访问时,出现如下的错误信息 “Internal Server Error The server encountered an internal error or misconfiguration
and was unable to complete your request. Please contact the server administrator,
webmaster@yourdomain and inform them of the time the error occurred,
and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
———————-
上传文件格式问题 dos格式上传会出现这种问题
QK31欢迎你的到来.
最近评论