讨论一下PHP代码与效率的问题

linhaibo 2004-03-24 10:23:07
以下是我自己制订的PHP代码规范,但不知道执行效率如何:
希望大家把自己PHP代码风格列出来,分享一下.



1.验证所有用户传递的参数,包括程序本身所需要传递的参数!
2.如果是整数的参数,必须验证接收到的是否是整数:is_numeric()
3.尽量使用 $_GET、$_POST代替 $_REQUEST,以提高代码执行。
4.尽量做到PHP脚本和客户端HTML代码分离:
5.使用动态包含文件,提高页面解析效率

PHP和HTML混合使用的时候:
<?php
class php_run{
var $_ID,$_Account; //定义页面的全局变量
function php_run(){
//初始化参数,验证传递给页面的参数
if(!isset($_GET["id"]) || !is_numeric($_GET["id"])){
header("Location: error.php?id=1");
exit;
}
else{
$this->_ID=$_GET["id"];
}
//动态包含文件
include("lib/conn.php");
include("class/page.class.php");
}
function pro_page(){
$newpage= new SplitPage();
$newpage->_PageCount=20;
$newpage->_TableName="table_user";
//...
}
}
$PageMain = new php_run();
?>
<html>
<head>
<title>标题</title>
</head>
<body>
当前页面的ID是<?php echo $PageMain->_ID;?><br>
<?php $PageMain->pro_page()?>
</body>
</html>
...全文
44 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
ustb 2004-03-25
  • 打赏
  • 举报
回复
to: jaexc(大飞)
关于引用,可以参看手册。

to:linhaibo (会写程序的猪)
如果只是一个规范,建议去下一份华为编码规范,里面讲得很清楚了。
为什么不把参数的验证放到一个方法里来实现呢?
要实现php与html分离为什么不用模板呢?
验证的参数越多,效率就越低,是否有必要对所有的参数进行验证,最简单的办法就是传最少的参数。
kurt1983 2004-03-25
  • 打赏
  • 举报
回复
用类的好处太多了,可惜我用的很菜。
lavaguo 2004-03-25
  • 打赏
  • 举报
回复
我来这里学习的:)
msroom 2004-03-25
  • 打赏
  • 举报
回复
我喜欢使用类
多菜鸟 2004-03-24
  • 打赏
  • 举报
回复
up也差不多,少用if语句就会有比较好的效率吧。
linhaibo 2004-03-24
  • 打赏
  • 举报
回复
up
chinaworker 2004-03-24
  • 打赏
  • 举报
回复
http://www.phpe.net/articles/387.shtml
linhaibo 2004-03-24
  • 打赏
  • 举报
回复
To: chinaworker

$PageMain = &new php_run();
对象的引用 的优势是什么?
linhaibo 2004-03-24
  • 打赏
  • 举报
回复
is_numeric($_GET["id"]) 测试过是可以的


countstars(深空) :
判断ID是否是个有效的ID就需要连接库,查询
动态包含就没有了效果
chinaworker 2004-03-24
  • 打赏
  • 举报
回复
To: countstars(深空)

嘿嘿......


OTHER:

$newpage= &new SplitPage();

$PageMain = &new php_run();
countstars 2004-03-24
  • 打赏
  • 举报
回复
to: chinaworker(网络混混 Hrcn.CN)
is_numeric($_GET["id"])
错了~~~~~~~$_GET的值始终都是
String

is_numeric函数就是来判断字符串化的数值,比如
$num = "123";
is_numeric($num) 返回 true

is_numeric
(PHP 4 )

is_numeric -- 检测变量是否为数字或数字字符串
描述
bool is_numeric ( mixed var)


如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE。



hncslsy 2004-03-24
  • 打赏
  • 举报
回复
up一下
chairj 2004-03-24
  • 打赏
  • 举报
回复
差不多,class我一般单独放一个文件,便于维护.
countstars 2004-03-24
  • 打赏
  • 举报
回复
呵呵,你的ID判断恐怕不够吧?其实我觉得 (int)($_GET["id"]),这样就够了
但是下面要先判断这个id是否有用,即使是数字也不一定有用,比如可以先来个查询行,如果返回0,则ID无效,这样就不用下列复杂操作了。
chinaworker 2004-03-24
  • 打赏
  • 举报
回复
is_numeric($_GET["id"])

错了~~~~~~~$_GET的值始终都是

String
jaexc 2004-03-24
  • 打赏
  • 举报
回复
我感觉用类很方便 但没感觉首速度问题
还请教大家拉:

To: chinaworker

$PageMain = &new php_run();
对象的引用 的优势是什么?
52juanjuan 2004-03-24
  • 打赏
  • 举报
回复
我同意思上面晓的说法,尽量用通用类来处理事务,也就是说尽量用面向对像的方法解决问题
xylegend 2004-03-24
  • 打赏
  • 举报
回复
用include和类的方式是很有好处,我也喜欢这样做
比如对于涉及到数据库操作的,总是使用一个数据库通用操作类来实现
用include导进来;对于认证也是在具体的需要验证的页面使用include包含进来验证代码
……
mistjin 2004-03-24
  • 打赏
  • 举报
回复
UP

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧