LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: koolcoy

linux下面用什么工具写php比较方便?

[复制链接]
发表于 2006-11-23 10:32:16 | 显示全部楼层
编辑器或者说IDE的话,还是推荐zendstudio。支持语法高亮、自动完成、代码提示和代码检查。

windows版有破解的。linux版不知道有没有破解。
回复 支持 反对

使用道具 举报

发表于 2006-11-26 04:33:08 | 显示全部楼层

谢谢回答

Post by formalin14
说说我们团队写php的情况吧:



再说说一个人做项目的情况:
项目如果小,我可能就不用模板了。但仍注意数据和呈现的分离。在php页面的开始就把所有的数据准备好。后面就只是echo和for,不会再有计算和获取。数据和呈现的分离很早就提出来了,比如MFC里的视图文档架构,以及后来流行的MVC等。都是不错的思想。





"在php页面的开始就把所有的数据准备好。",这个说得很好,但我还有一个疑问就是,是先把需要的数据准备好呢,还是用到的时候再调用数据库进行运算,再循环输出.

当然,前一种代码的维护是要好一些,但如果在程序的速度上面呢,哪一种好一些?
回复 支持 反对

使用道具 举报

发表于 2006-11-26 17:37:06 | 显示全部楼层
yanglei阿,你怎么冥顽不灵阿
先准备好数据只要一张网页,
网页过程中运算不只要做多少
无论开发效率还是服务器负担都是前者方便很多阿!
回复 支持 反对

使用道具 举报

发表于 2006-11-26 21:52:17 | 显示全部楼层
感觉还是 VIM 不错
回复 支持 反对

使用道具 举报

发表于 2006-11-27 11:06:18 | 显示全部楼层
Post by yanglei1979
"在php页面的开始就把所有的数据准备好。",这个说得很好,但我还有一个疑问就是,是先把需要的数据准备好呢,还是用到的时候再调用数据库进行运算,再循环输出.

当然,前一种代码的维护是要好一些,但如果在程序的速度上面呢,哪一种好一些?


事先把数据准备好的话,你需要遍历记录集,把数据拷贝到一个嵌套数组里。通常是这样:
[PHP]
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $data[] = $row;
}
// 对$data中需要格式化和运算的字段进行处理。
......
// 开始html呈现
[/PHP]

这样做,首先一个好处,就是代码和呈现分离。后面就只会对$data进行echo和for操作。一个缺点就是增加了拷贝操作。

然而,很可能在页面中你需要多次使用记录集,这样就还是把它拷贝到数组里比较方便。

效率上来说,一般带宽才是瓶颈,其次是数据库和其他IO。置于内存中的运算、拷贝、创建对象,很难成为瓶颈。相对来说,把代码组织得好一些,对项目会更有帮助。
回复 支持 反对

使用道具 举报

发表于 2006-11-28 08:04:49 | 显示全部楼层

这话听起来怎么那么熟悉呢

Post by quhan
yanglei阿,你怎么冥顽不灵阿
先准备好数据只要一张网页,
网页过程中运算不只要做多少
无论开发效率还是服务器负担都是前者方便很多阿!



这话听起来怎么那么熟悉呢,好象我多年的老同学一样,你是哪个学校的阿
回复 支持 反对

使用道具 举报

发表于 2006-12-1 02:15:57 | 显示全部楼层
Post by formalin14
事先把数据准备好的话,你需要遍历记录集,把数据拷贝到一个嵌套数组里。通常是这样:
[PHP]
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $data[] = $row;
}
// 对$data中需要格式化和运算的字段进行处理。
......
// 开始html呈现
[/PHP]

这样做,首先一个好处,就是代码和呈现分离。后面就只会对$data进行echo和for操作。一个缺点就是增加了拷贝操作。

然而,很可能在页面中你需要多次使用记录集,这样就还是把它拷贝到数组里比较方便。

效率上来说,一般带宽才是瓶颈,其次是数据库和其他IO。置于内存中的运算、拷贝、创建对象,很难成为瓶颈。相对来说,把代码组织得好一些,对项目会更有帮助。



这一方面,我的建议是将sql语句进行优化,
比如不用"select * ..",而用"select `id`,`name` ...",只取有用的列
在分批读取数据的时候严格限制数据的量,也就是用"limit 0,10"之类的方式。
这样可以大大精简数据量
回复 支持 反对

使用道具 举报

发表于 2006-12-1 07:44:47 | 显示全部楼层

在另外一个星球上有人在反驳你的言论呀

Post by quhan
这一方面,我的建议是将sql语句进行优化,
比如不用"select * ..",而用"select `id`,`name` ...",只取有用的列
在分批读取数据的时候严格限制数据的量,也就是用"limit 0,10"之类的方式。
这样可以大大精简数据量



在另外一个星球上有人在反驳你的言论呀,快去拿出证据反驳反驳吧!

网址: http://www.phpx.com/happy/thread-128073-1-5.html
回复 支持 反对

使用道具 举报

发表于 2006-12-1 16:47:51 | 显示全部楼层
好一些吧

发现火星代码:
[PHP]$j=0;
while($r = mysql_fetch_array($result))
{
$rmember6[$j]=$r;
$j++;
}[/PHP]
回复 支持 反对

使用道具 举报

发表于 2006-12-1 18:16:26 | 显示全部楼层
Post by quhan
这一方面,我的建议是将sql语句进行优化,
比如不用"select * ..",而用"select `id`,`name` ...",只取有用的列
在分批读取数据的时候严格限制数据的量,也就是用"limit 0,10"之类的方式。
这样可以大大精简数据量


你这也太鄙视yanglei1979了吧。

大家现在讨论的这个问题当然是在查询语句和程序算法都已经优化的基础上。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表