Categories
php

轻巧的php模板类——SmartTemplate

SmartTemplate:

一个比较轻巧的php模板,执行速度上很有优势,据说执行速度是smatry的8x倍,当然实际使用中不会那么夸张,据本人测试,运行速度至少是pear的IT模板的4倍以上(2000个循环替换)。

下载地址:

http://www.smartphp.net/content/app/download.php

使用注意事项:

为了在同一个脚本中使用多个模板可以这样修改(php4):

281 line

unset($_top); 

to

unset($GLOBALS['_top']);
Categories
php

更好的将editplus与phpCodeBeautifier结合使用

phpCodeBeautifier这款php代码美化工具已经很久不见更新,它的命令行版本似乎有些bug,不能正确的将php代码弄的很整齐。但是phpCodeBeautifier的GUI版本还是能够执行正确无误的,可惜无法直接在命令行模式下打开某个文件,想与editplus结合使用比较困难。

但是注意到phpCodeBeautifier总是会打开上一次使用过的文件,打开phpCodeBeautifier.ini一看,LastFile=’******’不正是我们需要的东东么?

于是俺写了如下批处理文件搞定这个问题:

代码片段:


set phpcb_path="F:Program FilesphpCB
set phpcb_ini=%phpcb_path%phpCodeBeautifier.ini"
echo [Settings]        >%phpcb_ini%
echo LastFile=%1    >>%phpcb_ini%
echo [MainForm]        >>%phpcb_ini%
echo Left=-4        >>%phpcb_ini%
echo Width=1032        >>%phpcb_ini%
echo Top=-4        >>%phpcb_ini%
echo Height=748        >>%phpcb_ini%
echo [Options]        >>%phpcb_ini%
echo FileFormat=0    >>%phpcb_ini%
echo Settings=PEAR    >>%phpcb_ini%

%phpcb_path%phpCodeBeautifier.exe

在editplus的工具配置中调用以上批处理文件,参数为$(FilePath),一切搞定,可以用phpCodeBeautifier自动打开editplus当前编辑的文件:P

Categories
common

phpCodeBeautiful与editplus结合改进

有人提议使用phpCodeBeautiful的命令行,看这里:超链接地址http://club.phpe.net/index.php?act=ST&f=2&t=3701

在此基础上俺进行了修改,适合自己使用:

pcb.bat

代码片段:


set phpcb_path="F:Program FilesphpCB"
%phpcb_path%phpCB.exe -space-after-if -space-after-switch -space-after-while -space-before-start-angle-bracket -space-after-end-angle-bracket -glue-amperscore -change-shell-comment-to-double-slashes-comment -force-large-php-code-tag -force-true-false-null-contant-lowercase --comment-rendering-style PEAR -align-equal-statements-to-fixed-pos -indent-with-tab -optimize-eol -align-equal-statements --padding-char-count 1 %1 > %TEMP%phpcbTemp.php
move /Y %TEMP%phpcbTemp.php %1
Categories
php

等待pear投票的模板程序HTML_Template_Savant

在zend.com上看到这个模板程序,咋一看结构代码都很像smarttemplate,但是细看处理方法却是截然不同,模板程序中都是直接使用的php代码,如下面这段常见的循环显示代码:

< ?php foreach ($book as $key => $val): ?>
    
       < ?php echo $val[‘author’] ?>
       < ?php echo $val[‘title’] ?>
    
< ?php endforeach; ?>

我觉得用这种方式处理比较灵活,也还方便,而且并不需要生成cache之类的把戏,因为它本身已经是php程序了.加上方便的plugin和filter扩展,值得考虑,下面是这个模板的详细信息:

http://pear.php.net/pepr/pepr-proposal-show.php?id=83

Categories
php

使用Pear::Pager类的一个问题

今天把公司的服务器从php4升级到php5,问题来了.最严重的是使用Pear::Pager类,报错如下:
Fatal error: Cannot re-assign $this in D:xampphtdocstmptest.php on line 5

看了下Pager类的构造,有如下代码:
$this = ……………..;

看来从php5开始不再支持这种对自身重新实例化的写法了,只好重写了Pager类草草收场

[@more@]

Categories
php

php代码美化程序PHP_Beautifier试用手记

在pear的rss列表上看到了PHP_Beautifier 0.1.1 beta发布,便下载回来试用:
>>pear install PHP_Beautifier
………………………………………..

顺利完成,看了下帮助,还带有命令行工具,方便:

D:xamppphp>php_beautifier –help

Usage: php_beautifier [options]
and/or can be ‘-‘, which means stdin/stdout.
you can use ? and * for batch processing
can be a dir (ending with ‘/’ or a real dir)
or a file (without ‘/’)
multiple ins and one out = merge all files in one output
Options:
–input or -f input file – default: stdin
–output or -o output dir or file – default: stdout
–indent_tabs or -t indent with tabs
–indent_spaces or -s indent with spaces – default
–filters or -l Add filter(s)
–directory_filters or -d Include dirs for filters
–compress or -c Compress output
–recursive or -r Search in subdir recursively
–help or -? display help/usage (this message)

Filter definition:
–filters "Filter1(setting1=value1,setting2=’value2′) Filter2()"

不过试用下来,处理的不是太完美,比如复杂点php代码美化后不整齐之类的,期待更好的版本出现 [@more@]