Dcloud课程7 单例模式一般用在什么场景

一、总结

一句话总结:连接数据库,这样就保证了和数据之间只有一个连接,从而能够不占用多余资源,这样就极大的减少了资源浪费,减少了mysql或者说服务器压力

1、单例模式的思路是怎样的?

如果有实例,就拿实例,没有就创建实例,不允许外部创建实例

16     public static function getInstance(){
17 if (!self::$_instance instanceof self) {
18 # code...
19 self::$_instance=new self;
20 }
21
22 return self::$_instance;
23 }

2、php函数默认参数用false好还是用null好?

其实都可以,感觉用null要好,语义,判断是否用false,参数是数据的话就是null

3、静态缓存数据技术中为什么会用到定时任务?

定时把数据的数据弄到缓存中,也就是静态文件中,这样就可以保证用户一直在文件中读取最新数据,而不用连接数据库。

二、单例模式一般用在什么场景

1、相关知识

单例模式的基本原则

1)构造函数需要标记为非public(防止外部使
用new操作符创建对象),单例类不能在其他类中实
例化,只能被其自身实例化。
2)拥有一个保存类的实例的静态成员变量
$_instance。
3)拥有一个访问这个实例的公告的静态方法

 

首页接口开发方法

1)读取数据库方式开发首页接口

2)读取缓存方式开发首页接口

优势:减少数据库压力

3)定时的读取缓存方式开发首页接口

首页接口的流程

 
 
 

2、代码

 <?php 

 class DB{
const HOST='localhost';
const USER='root';
const PASS='123';
const DATA='feifei';
static public $_instance; private function __construct(){
@mysql_connect(DB::HOST,DB::USER,DB::PASS);
mysql_set_charset('utf8');
mysql_select_db(DB::DATA);
} public static function getInstance(){
if (!self::$_instance instanceof self) {
# code...
self::$_instance=new self;
} return self::$_instance;
}
} // $model=new DB(); // $model=DB::getInstance(); // $sql="select * from user";
// $res=mysql_query($sql);
// while ($row=mysql_fetch_assoc($res)) {
// # code...
// var_dump($row);
// } ?>
 

Dcloud课程7 单例模式一般用在什么场景的更多相关文章

  1. Dcloud课程9 天气小助手如何实现

    Dcloud课程9 天气小助手如何实现 一.总结 一句话总结:调用天气的接口,如果网上找不到好用的,而如果仅仅是测试,那就自己写一个简单的接口就可以了. 1.dcloud中的css样式怎么调? 和网页 ...

  2. Dcloud课程8 开心一刻应用如何实现

    Dcloud课程8 开心一刻应用如何实现 一.总结 一句话总结:app就是远程调用接口获得数据,我们在后台要做的,就是写一个个让页面获得接口的数据.这里用的是公共笑话接口. 1.ajax返回给页面的h ...

  3. Dcloud课程6 php脚本如何在Linux下定时更新数据

    Dcloud课程6 php脚本如何在Linux下定时更新数据 一.总结 一句话总结:linux下用crontab命令实现定时任务. 1.linux下执行php脚本用什么命令? 直接用php命令php ...

  4. Dcloud课程5 php如何实现文件缓存技术(静态数据缓存)

    Dcloud课程5 php如何实现文件缓存技术(静态数据缓存) 一.总结 一句话总结:保存在磁盘上的静态文件,用PHP生成数据到静态文件中.其实cookie和session使用的就是这样的技术,所以c ...

  5. Dcloud课程4 如何进行APP接口开发

    Dcloud课程4 如何进行APP接口开发 一.总结 一句话总结:通过json或者xml. 1.APP如何进行通信? 通过在地址上接参数指明传递的数据的类型.而数据传递的类型一般是XML和json. ...

  6. Dcloud课程3 什么是HBuilder和MUI

    Dcloud课程3  什么是HBuilder和MUI 一.总结 一句话总结:DCloud(数字天堂)推出一款支持HTML5的Web开发IDE.最大的特点是快.MUI是高性能App的框架,也是目前最接近 ...

  7. Dcloud课程2 什么是Dcloud

    Dcloud课程2  什么是Dcloud 一.总结 一句话总结:DCloud提供了一套快速开发应用的跨平台技术方案. 1.DCloud的产品架构? MUI+(H5+)+HBuilder 2.什么是MU ...

  8. Dcloud课程1 APP的架构有哪些

    Dcloud课程1 APP的架构有哪些 一.总结 一句话总结:B/S架构和C/S构架 1.APP的分类? 主流的四大APP系统:1.苹果ios系统版本,开发语言是Objective-C:2.微软Win ...

  9. 设计模式之——单例模式(Singleton)的常见应用场景

    单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此 ...

随机推荐

  1. vector要注意的点

    vector的元素类别T,必须具备assignable和copyable两个性质. vector的容量很重要: 1. 一旦内存重新配置,和vector元素相关的所有references.pointer ...

  2. Chromium Graphics: Android L平台上WebView的变化及其对浏览器厂商的影响分析

    原创文章.转载请以链接形式注明原始出处为http://blog.csdn.net/hongbomin/article/details/40799167. 摘要:Google近期公布的Android L ...

  3. QTP校验数据库中数据后台项目

    数据校验功能后台主要包含两个类:QTPCommonServlet.java和QTPCommonDao.java 当中QTPCommonServlet.java为: package com.runqia ...

  4. kettle(一)概述

    近期两个月一直和kettle打交道,从開始的没听说过,到如今能够熟练运用,不得不说项目驱动下,学习东西是最快的.好了,尽管使用kettle应付项目的任务绰绰有余.可是还是想系统的学习一下,总结一下.比 ...

  5. 使用cecil 完毕 code injection

    1. 安装Mono.Cecil watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFuX2xpYW5n/font/5a6L5L2T/fontsize/400 ...

  6. js实现 导航移入移出效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. OpenCV —— 图像局部与部分分割(一)

    背景减除 一旦背景模型建立,将背景模型和当前的图像进行比较,然后减去这些已知的背景信息,则剩下的目标物大致就是所求的前景目标了 缺点 —— 该方法基于一个不长成立的假设:所有像素点是独立的 场景建模 ...

  8. cat---查看文件内容

  9. 洛谷——P2695 骑士的工作

    https://www.luogu.org/problem/show?pid=2695 题目背景 你作为一个村的村长,保卫村庄是理所当然的了.今天,村庄里来了一只恶龙,他有n个头,恶龙到处杀人放火.你 ...

  10. sql%rowcount 返回影响行数

    oracle中.返回影响行数是:If sql%rowcount 举例: update ut_calenderStatus t set t.calenderstatus=pi_flg, t.m=pi_M ...