legend---三、方法集思路
legend---三、方法集思路
一、总结
一句话总结:其实也就是工具包思路,会极大的简化编程,清晰逻辑
1、多if转换成简洁单if怎么实现?
下面这段代码是错的,if的这种写法只适合直接return
1 function getblogReward($number){
2 echo $number.'<br>';
3 $number=intval($number);
4 echo ($number<=5);
5 if($number<=5) $ans=($number-5)*10;
6 $ans=ceil(pow(1.15,$number));
7 return $ans;
8 }
2、thinkphp中session的二维数组如何操作?
thinkphp中支持session的二维数组操作
二级数组
支持session的二维数组操作,例如:
// 赋值(当前作用域)
Session::set('name.item','thinkphp');
// 判断(当前作用域)是否赋值
Session::has('name.item');
// 取值(当前作用域)
Session::get('name.item');
// 删除(当前作用域)
Session::delete('name.item');
助手函数
系统也提供了助手函数session完成相同的功能,例如:
// 初始化session
session([
'prefix' => 'module',
'type' => '',
'auto_start' => true,
]);
// 赋值(当前作用域)
session('name', 'thinkphp');
// 赋值think作用域
session('name', 'thinkphp', 'think');
// 判断(当前作用域)是否赋值
session('?name');
// 取值(当前作用域)
session('name');
// 取值think作用域
session('name', '', 'think');
// 删除(当前作用域)
session('name', null);
// 清除session(当前作用域)
session(null);
// 清除think作用域
session(null, 'think');
3、jquery中的attr和val都可以获取value?
1 <script>
2 $(':checkbox#sg_is_fragment_goods').click(function(){
3 if ($(this).prop("checked")){
4 // $(this).attr({'value':'1'});
5 // alert($(this).attr("value"));
6 $(this).val('1');
7 alert($(this).val());
8 }else{
9 $(this).attr({'value':'0'});
10 alert($(this).attr("value"));
11 }
12 });
13 </script>
4、超长多级表连接(有三层,5个表)?
用户物品表到物品表到物品分类表
if($sc_id){
$myselfGoods=db('myself_goods')->alias('mg')->where(array('mg_uid'=>$muid))->join('shop_goods sg','mg.mg_goods_id=sg.sg_id','LEFT')->
where('sg_classifyid','=',$sc_id)->order('sg_classifyid,sg_gradeid desc,sg_id asc')->join('shop_classify sc','sg.sg_classifyid=sc.sc_id','LEFT')->
join('shop_grade sgr','sg.sg_gradeid=sgr.sgr_id','LEFT')->select();
}
else {
$myselfGoods=db('myself_goods')->alias('mg')->where(array('mg_uid'=>$muid))->join('shop_goods sg','mg.mg_goods_id=sg.sg_id','LEFT')->
order('sg_classifyid,sg_gradeid desc,sg_id asc')->join('shop_classify sc','sg.sg_classifyid=sc.sc_id','LEFT')->
join('shop_grade sgr','sg.sg_gradeid=sgr.sgr_id','LEFT')->select();
5、表格式显示物品如何实现?
两层循环,且总个数随内层循环而动
1 <tbody>
2 <?php
3 $length_myselfGoods=count($myselfGoods);
4 for ($i=0;$i<$length_myselfGoods;){
5 echo '<tr>';
6 for ($j=0;$j<6;$i++,$j++){
7 if(isset($myselfGoods[$i])){
8 echo '<td>'.$myselfGoods[$i]["sg_name"].'</td>';
9 }else{
10 echo '<td> </td>';
11 }
12
13 }
14 echo '</tr>';
15
16 }
17 ?>
18 </tbody>
6、每日自动奖励的下列做法为什么不行?
会侵占session和数据库,让系统无法正常运行
1 public function autoExe(){
2 //$beginTime=strtotime('2018-06-23');
3 static $beginTimestamp=1529683200;//开始时间,这是2018-06-23的时间戳
4 ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
5 set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
6 $daily_auto_open=session('daily_auto_open');
7 do{
8 //延迟更新blog时间
9 $dayTimestamp=24*60*60;
10
11 $nowTimestamp=time();
12
13 if($nowTimestamp-$beginTimestamp>$dayTimestamp){ //大于一天的情况
14 //执行方法
15 $this->dailyAllInit();
16 $this->dailyAllOperation($beginTimestamp);
17 $beginTimestamp+=$dayTimestamp;//批量执行完之后就跳到下一天
18 }else{
19 $interval=5*60;// 每隔5分钟自动运行
20 sleep($interval);
21 }
22 }while(intval($daily_auto_open));
23 echo '<meta charset="utf8">';
24 die('关闭重复方法');
25 }
7、在base控制器里面调用继承base控制器的php控制器容易出现哪些问题?
很容易出现各种问题,比如自循环
$autoExeObj=new \app\admin\controller\DailyAutoExe();//之前形成了自循环
$autoExeObj->dailyAllInit();
$autoExeObj->dailyAllOperation($daily_auto_exe_timestamp);
8、方法集思路的好处是什么?
被被别人调用的写成方法集,自己常用的方法也写成方法集,方法集不要继承初始化控制器base

二、内容在总结中
legend---三、方法集思路的更多相关文章
- 【终结版】C#常用函数和方法集汇总
C#里面的常用的函数和方法非常重要,然而做题的时候会经常忘记这些封装好的方法,所以我总结一下 C#常用函数和方法集. [1]C#操作字符串的常用使用方法 在 C# 中,您可以使用字符数组来表示字符串, ...
- 大数据入门第十六天——流式计算之storm详解(三)集群相关进阶
一.集群提交任务流程分析 1.集群提交操作 参考:https://www.jianshu.com/p/6783f1ec2da0 2.任务分配与启动流程 参考:https://www.cnblogs.c ...
- c#.net常用函数和方法集
1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.D ...
- JS方法集
数组方法集 Angela.array = { //# 数组方法 // index, 返回位置! 不存在则返回 -1: index: function (t, arr) { //# 返回当前值所在数组的 ...
- js—浅谈方法和思路的重要性(首篇求大佬支持)
js-浅谈方法和思路的重要性 学了这么久的js,我从老师的,同学的代码中发现,老师写的代码比我们的要清楚的很多,基本上没有太多累赘啊,能少的没有少啊等等..... 废话不多说,下面我们来看看这个我的一 ...
- Go的方法集
方法集定义了接口的接受规则. package main import "fmt" type notifier interface { notify() } type user st ...
- go语言之进阶篇普通变量的方法集
1.普通变量的方法集 示例: package main import "fmt" type Person struct { name string //名字 sex byte // ...
- Redis源码阅读(三)集群-连接初始化
Redis源码阅读(三)集群-连接建立 对于并发请求很高的生产环境,单个Redis满足不了性能要求,通常都会配置Redis集群来提高服务性能.3.0之后的Redis支持了集群模式. Redis官方提供 ...
- go语言之进阶篇指针类型和普通类型的方法集
方法集 类型的方法集是指可以被该类型的值调用的所有方法的集合. 用实例实例 value 和 pointer 调用方法(含匿名字段)不受方法集约束,编译器编总是查找全部方法,并自动转换 receiver ...
随机推荐
- phpstudy创建新站点-默认打不开
phpstudy中Apache中httpd.conf中如下语句前#要有 #Include conf/extra/httpd-vhosts.conf
- 紫书 习题 8-21 UVa 1621 (问题分析方法)
知道是构造法但是想了挺久没有什么思路. 然后去找博客竟然只有一篇!!https://blog.csdn.net/no_name233/article/details/51909300 然后博客里面又说 ...
- hadoop-10-创建yum资源库
hadoop-10-创建yum资源库 1,在/etc/yum.repos.d/下面创建 ambari.repo HDP.repo HDP-UTILS.repo 三个文件: [root@server ...
- otto源代码分析
otto这个开源项目是一个event bus模式的消息框架.用于程序各个模块之间的通信.此消息框架能够使得各个 模块之间降低耦合性. 此项目是支付公司square一个开源项目,项目托管于github ...
- 【iOS开发-47】怎样下载iOS 7.1 Simulator 以及iOS 8离线的Documentation这些文件?
(1)最官方的解决的方法 在Xcode6里面提供下载. 依照下图找到下载就可以. 一般建议把以下的自己主动检查更新和下载的框框勾起来,这样它会帮我们自己主动下载. watermark/2/text/a ...
- web集群中经常使用的session同步解决方式及对照
随着站点的功能越来越多,用户量越来越庞大,单节点模式已经严重不能支撑整个系统的正常运作,轻则用户页面訪问时间越来越慢.重则就会导致整个系统瘫痪.这时候 就须要优化或调整眼下的架构,大部分人就会採用各种 ...
- hdu 5277 YJC counts stars
hdu 5277 YJC counts stars 题意: 给出一个平面图,n个点,m条边,直线边与直线边之间不相交,求最大团的数目. 限制: 1 <= n <= 1000 思路: 因为平 ...
- Linux 文件系统初步
在Linux系统中,假设我们想要知道一个文件的详细信息,那么最简便的方法自然就是ls命令了.例如以下图所看到的:当在shell输入命令"ls -l old"时,在下方就会 ...
- form表单加密前台js后台java
1.前台javascript 1.在提交的js中这样写 <!-- 加密解密 --> document.form1.username.value=encode64(document.form ...
- 《剑指offer》变态跳台阶
一.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.输入描述 n级台阶 三.输出描述 一共有多少种不同的跳法 四.牛客网提 ...