当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 14 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-17 20:39 
头像

注册: 2010-05-23 20:44
帖子: 1665
系统: Ubuntu
送出感谢: 8
接收感谢: 22
这是一段PHP代码:

代码:
    if ($row['approved'] == '0') {
      echo ' / <a href="approvescore.php?id=' . $row['id'] . '&amp;date=' . $row['date'] .
        '&amp;name=' . $row['name'] . '&amp;score=' . $row['score'] . '&amp;screenshot=' .
        $row['screenshot'] . '">Approve</a>';
    }



里面又是单引号又是双引号,太乱了。像 Perl 里面可以用 qq{} 来代替双引号或者 q{} 来代替单引号,php 有什么好办法没?


_________________
师大生信者:http://bnuzhutao.cn


页首
 用户资料  
 
2 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-17 21:26 
头像

注册: 2009-02-06 9:18
帖子: 1081
地址: 小僧乃吐蕃国大雪山大轮寺护国法师座下四大护法之西域妖僧是也
送出感谢: 0 次
接收感谢: 11
用写代码专用的工具就很好阅读了。。比如Sublime Text 2...


_________________
Laptop: i5-460m hm55 4g 320g hd5470 14'led 2.3kg (acer 4738g)
Windows XP 7 8 all in one partition.
Ubuntu 10.04 LTS
Mac OS X 10.6.7
折腾笔记
论坛随手记


页首
 用户资料  
 
3 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-17 21:30 
头像

注册: 2010-05-23 20:44
帖子: 1665
系统: Ubuntu
送出感谢: 8
接收感谢: 22
iamfbi 写道:
用写代码专用的工具就很好阅读了。。比如Sublime Text 2...


额,貌似这个治标不治本


_________________
师大生信者:http://bnuzhutao.cn


页首
 用户资料  
 
4 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-17 21:37 
头像

注册: 2009-04-09 15:06
帖子: 673
送出感谢: 0 次
接收感谢: 13
用sprintf.


页首
 用户资料  
 
5 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-17 21:38 
头像

注册: 2010-05-23 20:44
帖子: 1665
系统: Ubuntu
送出感谢: 8
接收感谢: 22
mjp123 写道:
用sprintf.


求指教,貌似我这本书上没说


_________________
师大生信者:http://bnuzhutao.cn


页首
 用户资料  
 
6 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-17 21:48 
头像

注册: 2009-04-09 15:06
帖子: 673
送出感谢: 0 次
接收感谢: 13
[php]$fmt= '<a href="approvescore.php?id=%s&date=%s&name=%s&score=%s&screenshot=%s">Approve</a>';
echo sprintf($fmt,$row['id'],$row['date'] ,$row['name'],$row['score'],$row['screenshot']);[/php]


页首
 用户资料  
 
7 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-18 8:05 
头像

注册: 2010-05-23 20:44
帖子: 1665
系统: Ubuntu
送出感谢: 8
接收感谢: 22
mjp123 写道:
[php]$fmt= '<a href="approvescore.php?id=%s&date=%s&name=%s&score=%s&screenshot=%s">Approve</a>';
echo sprintf($fmt,$row['id'],$row['date'] ,$row['name'],$row['score'],$row['screenshot']);[/php]


谢谢!这一招看起来挺不错哈


_________________
师大生信者:http://bnuzhutao.cn


页首
 用户资料  
 
8 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-18 10:01 
头像

注册: 2006-04-12 18:54
帖子: 4671
送出感谢: 0 次
接收感谢: 7
其实用strtr更好,更接近模板,嗯嗯

主要是如果要添加某些变量,比如给这个链接加上class,会比sprintf容易维护的多。
具体可以参照yii的t 翻译函数。


_________________
荃创想


页首
 用户资料  
 
9 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-18 13:31 
头像

注册: 2010-05-23 20:44
帖子: 1665
系统: Ubuntu
送出感谢: 8
接收感谢: 22
jarlyyn 写道:
其实用strtr更好,更接近模板,嗯嗯

主要是如果要添加某些变量,比如给这个链接加上class,会比sprintf容易维护的多。
具体可以参照yii的t 翻译函数。


你最好也像上楼那样举个例子嘛


_________________
师大生信者:http://bnuzhutao.cn


页首
 用户资料  
 
10 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-18 13:39 
头像

注册: 2006-04-12 18:54
帖子: 4671
送出感谢: 0 次
接收感谢: 7
$fmt= '<a href="approvescore.php?id={id}&date={date}&name={name}&score={score}&screenshot={screenshoot}">Approve</a>';
echo strtr($fmt,array(
'{id}'=>$row['id'],
'{date}'=>$row['date'],
'{name}'=>$row['name'],
'{score}'=>$row['score'],
'{screenshot}'=>$row['screenshot']
));


_________________
荃创想


页首
 用户资料  
 
11 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-18 21:42 
头像

注册: 2009-02-06 9:18
帖子: 1081
地址: 小僧乃吐蕃国大雪山大轮寺护国法师座下四大护法之西域妖僧是也
送出感谢: 0 次
接收感谢: 11
jarlyyn 写道:
$fmt= '<a href="approvescore.php?id={id}&date={date}&name={name}&score={score}&screenshot={screenshoot}">Approve</a>';
echo strtr($fmt,array(
'{id}'=>$row['id'],
'{date}'=>$row['date'],
'{name}'=>$row['name'],
'{score}'=>$row['score'],
'{screenshot}'=>$row['screenshot']
));

这个昨说呢。。我觉得代码的原则是越精简越好。。。为了好看点,把代码写得更复杂。。我觉得没必要,这叫代码冗余。。。


_________________
Laptop: i5-460m hm55 4g 320g hd5470 14'led 2.3kg (acer 4738g)
Windows XP 7 8 all in one partition.
Ubuntu 10.04 LTS
Mac OS X 10.6.7
折腾笔记
论坛随手记


页首
 用户资料  
 
12 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-18 21:57 
头像

注册: 2009-02-06 9:18
帖子: 1081
地址: 小僧乃吐蕃国大雪山大轮寺护国法师座下四大护法之西域妖僧是也
送出感谢: 0 次
接收感谢: 11
不好意思,我对PHP代码不熟。。。所以,请教下。。其实LZ那代码是不是可以写成这样?我觉得似乎是可以的。。不太确定。。。
代码:
echo " / <a href=\"approvescore.php?id=$row['id']&amp;date=$row['date']&amp;name=$row['name']&amp;score=$row['score']&amp;screenshot=$row['screenshot']\">Approve</a>";


_________________
Laptop: i5-460m hm55 4g 320g hd5470 14'led 2.3kg (acer 4738g)
Windows XP 7 8 all in one partition.
Ubuntu 10.04 LTS
Mac OS X 10.6.7
折腾笔记
论坛随手记


页首
 用户资料  
 
13 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2012-12-18 22:17 
头像

注册: 2006-04-12 18:54
帖子: 4671
送出感谢: 0 次
接收感谢: 7
iamfbi 写道:
jarlyyn 写道:
$fmt= '<a href="approvescore.php?id={id}&date={date}&name={name}&score={score}&screenshot={screenshoot}">Approve</a>';
echo strtr($fmt,array(
'{id}'=>$row['id'],
'{date}'=>$row['date'],
'{name}'=>$row['name'],
'{score}'=>$row['score'],
'{screenshot}'=>$row['screenshot']
));

这个昨说呢。。我觉得代码的原则是越精简越好。。。为了好看点,把代码写得更复杂。。我觉得没必要,这叫代码冗余。。。


为了可维护性。

好的代码可以不需要注释。


_________________
荃创想


页首
 用户资料  
 
14 楼 
 文章标题 : Re: PHP echo 输出 HTML 时,代码中单引号和双引号混在一起,难以阅读
帖子发表于 : 2013-01-03 22:27 
头像

注册: 2012-11-09 10:22
帖子: 3
系统: ub
送出感谢: 0 次
接收感谢: 0 次
跑过去呵呵


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 14 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译