2010-05-21

symfony1.4 DateTime对于PHP低版本的兼容问题

类归于: symfony — 标签:, szn000 @ 13:17

在symfony1.4中使用DateTime 类 但是该类出现于 PHP 5.2.0以后 所以在使用(部分方法需要在PHP5.3.0以后版本才能使用)PHP5.2.0以前版本的服务器上 调用symfony调用该函数会出错 为了解决该类问题根据 PHP5.2.0 的DateTime类 写了俩个类 用以在低版本中使用该类
以重写方法
DateTime.class.php
__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
string format ( string $format )
int getOffset ( void )
int getTimestamp ( void )
DateTimeZone getTimezone ( void )
DateTime setDate ( int $year , int $month , int $day )
DateTime setISODate ( int $year , int $week [, int $day = 1 ] )
DateTime setTime ( int $hour , int $minute [, int $second = 0 ] )
DateTime setTimestamp ( int $unixtimestamp )
DateTime setTimezone ( DateTimeZone $timezone )
DateTime __wakeup ( void )

DateTimeZone.class.php
__construct ( string $timezone )
string getName ( void )
int getOffset ( DateTime $datetime )

文件下载地址: 下载点击我
附件使用时把类名中的My删除

2010-05-20

如何在fixtures.yml写循环添加数据

类归于: symfony — 标签:kthiz2006 @ 16:03

举一个简单的例子:
city表的字段有id,enabled,name
那么往city表插入字段的写法如下:

city:
<?php for ($i = 1; $i <= 6; $i++): ?>
city_<?php echo $i ?>:
enabled: 1
name:    city<?php echo $i."\n" ?>//用php写表的字段的数据结尾时一定写上"\n"
<?php endfor; ?>

注意:书写时一定要注意fixtures.yml的写法,注意空格.

如何实现动态添加/删除表格元素

类归于: JavaScript, jQuery — 标签:, kthiz2006 @ 09:48

此效果是用jquery实现的,现代码如下:

//监听添加表格行数的阿按扭
$(document).ready(function(){
$("#but").click(function(){
var $table=$("#tab tr");
var len=$table.length;
$("#tab").append("<tr id="+(len+1)+"><td align=\'center\'><img width=\'140\' src=\'images/1.jpg\'></td><td align=\'center\'><a href=\'javascript:void(0)\' onclick=\'deltr("+(len+1)+")\'>删除</a></td></tr& gt;");
})
})


//删除指定的表格的行
function deltr(index)
{
$table=$("#tab tr");
$("tr[id=\'"+index+"\']").remove();
}

以下写在body中即可

//添加按钮
<input id="but" type="button" value="添加" />


//空的表格
<table class="print_product_img" id="tab" border="1" width="60%" align="center">
</table>

2010-05-19

PHP中数据类型间的比较

类归于: PHP — 标签:, , maker @ 15:12

这是由bobhero发现的一个很有趣的问题. 废话不多说, 直接上代码.

var_dump(array() > 9999); // true

结论:任何数组大于整数

var_dump(array() > 'abc'); // true

结论:任何数组大于字符串

var_dump(array() < array('a')); // true

结论:任何非空数组大于空数组, 其实这个应该是所有人都知道的

var_dump('abc' > '123');// true

这个没有结论, 是字符串比较的问题

var_dump('abcasdfad' > 123);// false
var_dump('abcasdfad' > 1);// false
var_dump('abcasdfad' > 0);// false

结论:任何整数大于字符串

以上是实验过程和结论, 刚发现的时候我也是很惊奇的, 不过最终也没弄明白其中的原理, 希望高手指点.

2010-05-17

使用symfony routing.yml 修改URL

类归于: symfony — 标签:, szn000 @ 12:04

由于不规范的URL带有程序和数据库的结构信息会给程序带来隐患并且在程序中经常需要使用?name=value来传递变量的值所以修改URL非常重要.
在symfony中 使用 routing.yml 文件就可以修改URL
下面是一个URL修改的例子
将 project/news/show?title=123 修改成 project/news/123.html
在projiect/apps/myapp/config/routing.yml 添加下列代码
shownews:
url: /news/show
param: { module: news, action: show }

上面代码是定义一个 @shownews 路由使其访问 news/show
注意:每次修改routing.yml 后需要执行 symfony cc 清理缓存
在页面中添加如下代码
<?php echo link_to($name, '@shownews?title='. $title);?>
$name是超链接名称
$title是要传递的值
(如果 $name=’测试’ $value=’123′)
上面的php代码转换成HTML代码如下
<a href="/news/show?title=123">测试</a>
在projiect/apps/myapp/config/routing.yml 修改代码
shownews:
url: /news/:title.html
param: { module: news, action: show }
requirements:
title: \w+

PHP代码

将转换成
<a href="/news/123.html">测试</a>

« 较近文章早前文章 »

WordPress 所驱动