php 一個動作在兩個以上的地方用到,怎麼提出?
給個假設
A
$do->query(
"INSERT INTO `abc` (
`public_order_id`,
`add_time`,
`status`
)
VALUES (
'{$public_order_id}',
'{$add_time}',
'已取消'
) "
);
B
$do->query(
"INSERT INTO `abc` (
`public_order_id`,
`add_time`,
`status`
)
VALUES (
'{$public_order_id}',
'{$add_time}',
'已完成'
) "
);
假設我這個動作會用到的地方兩個以上
但是唯一會變得就是 status
A是「已取消」
B會變成「已完成」
到其他地方又會有另外的狀態
其他都一樣,
那這樣的 mysql query 怎麼提出?
原本想說放在 function 但是不行~
想到一個問題
假設如果要讓function 可以用外面的值
我可以用 global 來讓外面的值進來 function
但是如果他不是長這樣 $abc 而是這樣 $_SESSION['id'] 和 $oder['id'] 呢?
$abc = 1;
function XXX() {
global $abc;
echo $abc; // 可顯示
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果你这全部都是手写 SQL 那就封装成对象,依赖一下 $do 就行了,即传参的时候把 $do 也传过去
一般来说 上面这样就够了 ,但是从良好的实践出发,原则上一个方法的参数不超过两个,两个以上就应该当成对象处理,所以这里简单处理一下。
假定你的 add_time 就是取得当前时间,$status有默认值。
以上代码未测试。