Submitted by gouki on 2008, April 23, 9:13 AM
使用ThinkPHP自带的模版引擎处理模版问题时,一般情况下不会有什么问题。
但是,在处理一些XHTML模版时,可能会遇到以下问题,比如,模版作者在制作模版时,为了规范页面,往往在文件头部加上<?xml version="1.0" encoding="utf-8"?>,表明文件是属于XML规范,所有的标签都必须遵循XML的相关规定。
然而,默认的ThinkPHP模版引擎在处理的时候会出现错误,处理这个错误的情况有以下几种办法。
第一种方法:你尝试关闭PHP的短标签功能
第二种方法:试着用<literal></literal>标签把XML的标签包含起来,即
<literal><?xml version="1.0" encoding="utf-8"?></literal>
第三种方法:修改ThinkPHP/Lib/Think/Template/ThinkTemplate.class.php的compiler函数,在函数的最后一行return $templContent;前加入
PHP代码
-
- $tmplContent = preg_replace('/(<?(?!php|=|$))/i', '<?php echo '\1'; ?>'."n", $tmplContent );
任何一种方法理论上都可以,第一种第二种方法实在不行的时候,再用第三种,毕竟第三种方法是改动核心的,如果以后更新核心库,可能会不当心就覆盖掉了。
不过,流年说过了,他已经更新了模板引擎的解析类,并且专门判断了是否开启了短标签,如果开启的话会自动用第三种方法解析。更新下SVN的ThinkTemplate.class.php 文件就可以了(可能压缩包还没有同步更新[2008-04-22])。
Tags: thinkphp, template, 短标签
PHP Framework | 评论:0
| 阅读:28067
Submitted by gouki on 2008, April 22, 10:43 PM
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。
» 阅读全文
Tags: db, mysql
DataBase | 评论:0
| 阅读:35656
Submitted by gouki on 2008, April 21, 11:22 PM
Literature | 评论:0
| 阅读:25578
Submitted by gouki on 2008, April 18, 4:03 PM
软件版本
apache: apache_2.0.59-win32-x86-no_ssl.msi
php : php-5.2.2-Win32
mysql : mysql-noinstall-4.0.27-win32
具体的软件我就不提供下载了,自己去找吧。。。呵呵
本来自己装的时候,一直失败,在 vampire 同志的指导下装的,才成功。。。以前一直是用集成包的,难得手工装一次,上一次手动安装已经是4、5年前的事情了(感觉很奇怪,第一次装的时候,都成功了……只是现在反而都不行了,呵呵)。
步骤开始: 我的目录 一般是在 d:/usr/local/ 下面(因为这样这个目录可以直接被我拷走到任何机器上就可以直接运行了)。
1、安装apache2,直接下一步下一步就结束了,安装好之后 apachemonitor 会自动启动,先关闭apache 。安装好的目录是:d:/usr/local/Apache2/
2、解压缩到 d:/usr/local/php目录下(如果怕偷懒,可以将几个DLL拷到c:/windows/system32目录下,当然也可以用apache的conf来LOAD)
3、修改 apache2/conf/httpd.conf,
因为我默认的 WEB 目录在 local 目录下,为 public_html ,因此我搜索 d:/usr/local/Apache2/htdocs 替换成 d:/usr/local/public_html
然后添加以下代码:(由于是在本机调试用,当然可以直接这样操作,因为让APACHE在加载的时候一次性加入这些多的DLL,还是会降低效率的。)
# PHP的配置
PHPIniDir "d:/usr/local/php"
LoadFile d:/usr/local/php/php5ts.dll
LoadFile d:/usr/local/php/libmysql.dll
LoadFile d:/usr/local/php/libmcrypt.dll
LoadFile d:/usr/local/php/libmhash.dll
LoadFile d:/usr/local/php/libeay32.dll
LoadFile d:/usr/local/php/ssleay32.dll
LoadModule php5_module "d:/usr/local/php/php5apache2.dll"
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html index.htm
注意:如果是php4那么就
LoadModule php4_module "d:/usr/local/php/php4apache2.dll"
php4apache2.dll 好象不在PHP的根目录下,好象在isapi目录下,切记拷到根目录下。
上面的loadFile 好象不在根目录下(实在没有PHP4了。自己配置一下吧)
4、修改 php.ini ,如果是本机测试,那么只需要改几处就行了。
把默认的 ;extension_dir = "./ext" 改为 extension_dir = "d:/usr/local/php/ext"
然后把一些扩展打开:
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_curl.dll
extension=php_mhash.dll
extension=php_mcrypt.dll
extension=php_gd2.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
切记,php_mbstring.dll 要放在最前面,因为有部份DLL在加载的时候,要求先加载mbstring的,例如exif,当然具体开几个扩展,自己看自己的需求情况吧。
再然后,修改一下upload_max_filesize = 2M ,这个是默认的,如果有需要,可以改大一点,一般不要超过8M
再修改一下 session.save_path = "d:/usr/local/sessions" (前提是先建好这个目录)
5、解压缩mysql的压缩文件到 d:/usr/local/mysql目录,在目录下建一个bat文件,里面放上一句
copy my-huge.cnf my.ini
如果还有内容修改,可以参照网上的一些my.ini配置来进行修改
再到bin目录下建一个bat文件,名字是:installMysql.bat
内容为:
mysqld-nt --install mysql --default-file="d:/usr/local/mysql/my.ini"
net start mysql
这样的话,安装后的服务名为 mysql ,默认读取的文件是 my.ini ,可以避免将my.ini拷到C盘根目录下,方便下次重装系统后使用
6、现在再利用apache monitor打开apache,到public_html目录下建一个 phpinfo.php,内容为
<?php
phpinfo();
?>
到浏览器里看一下,是不是mysql,gd都加载好了?
7、如果你还需要zend的扩展,那么到我这里下载吧。。。(点击下载)
步骤:先停掉apache,修改php.ini,在最后加上
[zend]
zend_extension_ts="d:/usr/local/zend/optimizer/ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="d:/usr/local/zend/optimizer/lib"
当然了,下载的压缩文件是解压到d:/usr/local/zend目录下(我提供的只支持php 5.2.x)如果你有特别需要,可以到zend的网站上下载,然后安装好之后,COPY 过来并卸载掉zend optimizer。
Software | 评论:0
| 阅读:22201
Submitted by gouki on 2008, April 17, 2:56 PM
“msn名字前面请加(L)CHINA,让全世界看看华人的团结。请转发您的msn朋友。”4月16日,这则简短的信息在MSN用户间迅速传递,网友们通过这种方式来表达爱国热情。
新民网记者了解到,按照上述信息的指示,在MSN名字前加上(L)CHINA后,“(L)”就会显示为一颗红心。网友苏小姐向新民网称,她吃完午饭后回到电脑桌前,发现MSN上已经是一片红心了,身在海外的朋友们也加入到了这一行列中。还有不少网友将红心后面的文字做了修改,加上了如“One world one dream”等口号。
网友苏小姐说,她的朋友在转发信息时还特地叮嘱她,要将MSN上朋友的备注调整成统一格式,让一颗颗炽热的红心连成一片,以展现中华民族强大的凝聚力和中国人民炽烈的爱国心。
新闻来源:新民网
这个贴子来自于cnBeta.com。
不过。留言更有意思。。。
- mephisto 发表于 2008-04-16 15:43:16
- 每当一个国家的ZZ 、经济出现重大危机的时候,爱国主义的破旗就又散发出臭味来。
——列宁(苏维埃的缔造者) - 回复 支持(424) 反对(79) 举报
- 匿名人士 发表于 2008-04-16 15:45:20
- love China not party
- 回复 支持(340) 反对(27) 举报
- 匿名人士 发表于 2008-04-16 16:02:29
- 第一,MSN不是国产的软件;
第二,有多少老外能看到你的MSN?
第三,一个老外的MSN上能有几个中国人? - 回复 支持(235) 反对(48) 举报
- 匿名人士 发表于 2008-04-16 15:47:21
- 抵制美国的你就不要用微软啊苹果啊 MSN啊!~ 恶心
- 回复 支持(187) 反对(61) 举报
- 匿名人士 发表于 2008-04-16 15:44:17
- 我低估了“人民”这种东西的智商
- 回复 支持(154) 反对(29) 举报
- 匿名人士 发表于 2008-04-16 15:57:47
- 总是把爱国挂在嘴上,所以一口唾沫就能吐掉
- 回复 支持(129) 反对(24) 举报
最后一个,我才是比较欣赏的。
Misc | 评论:0
| 阅读:20399