如果session的存储管理机制是db, memcache, redis等,那么实现单点登录就很简单,只需要将用户以前的session_id对应的记录全部删除即可。
如果session的存储管理是文件的话,就需要用点小技巧。由于session文件通
Thinkphp3.2.2关闭调试模式出现“页面错误"的提示,开启调试模式则正常。查看日志发现没有写入任何日志文件。
查看PHP运行日志显示Fatal Errror: Class "Think\Log" Not Found 。
发现生成了com
此方法最大的特点是以服务器时间为基础显示当前时间,增加了时间的准确性。注意要引入jquery, 因为用到了jquery的ajax方法。
代码:
(function(cb){
function timer(start, cb){
this.cur_s
微信小程序与服务器通信必须使用https协议,所以如果能在本地搭建一个https服务器,对于开发调试都是一件很不错的事,接下就介绍一下本地https服务搭建的方法:
一、首先下载带ssl模块的Apache, 比如我的apach
图片加水印的活一般是由后台来做,本文出于对canvas技术的研究, 利用canvas特性实现图片前端加水印。考虑到实用性,文章后面依旧会给出后台PHP给图片加水印的代码,读者可以根据自身需要选择不同的方案。
一、can
在服务器中通过交互命令执行php脚本的方法:
1、脚本的第一行要标明php可执行程序的路径
如:#!/usr/bin/php
2、将php脚本赋予可执行权限:
chmod u+x run.php
3、如果php脚本是dos格式的(以\r\n为行结
需求:每天00:05执行一次php脚本
环境:ubuntu + php5
操作:
1、用root账户登录ubuntu服务器
2、执行crontab命令: crontab -e
此时系统会进入crontab文件编辑模式(这里有必要说一下crontab的机制,在Ubu
1、memcache利用内存存储数据,数据以键值对形式存储,在php中,可以存储数值、字符串、数组、对象等类型的数据,但是资源类型的数据是不可以存储的。存储对象时要注意的是,在获取对象的时候,一定要保证当前运行环
组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。它定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。
装饰者模式,动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。虽然装饰者模式能够动态将责任附加到对象上,但是他会产生许多的细小对象,增加了系统的复杂度。
如果说某个系统能够从多个角度来进行分类,且每一种分类都可能会变化,那么我们需要做的就是将这多个角度分离出来,使得他们能独立变化,减少他们之间的耦合,这个分离过程就使用了桥接模
这是根据jq源码数组去重方法改造而成:
Array.prototype.unique = function(){
var elem, i=1, dup=[], j=0;
this.sort();
for( ; (elem=this[i]); i++){
if(elem===this[i-1]) j=dup.push
外观模式提供了一个统一的接口,用来访问子系统中的一群接口。它让一个应用程序中子系统间的相互依赖关系减少到了最少,它给子系统提供了一个简单、单一的屏障,客户通过这个屏障来与子系统进行通信。
外观模式由两
在我们的应用程序中我们可能需要将两个不同接口的类来进行通信,在不修改这两个的前提下我们可能会需要某个中间件来完成这个衔接的过程。这个中间件就是适配器。所谓适配器模式就是将一个类的接口,转换成客户期望的
状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。主要由以下几部分组成:
1、上下文环境类,它是状态的拥有者。
建造者模式是将产品的组装过程包装在一起,由调度者完成各个部件的组装。通常由以下几部分组成:
1、抽象建造者接口,将产品的各部件组装抽象成一系列操作。
2、具体建造者,负责实现产品部件的组装细节,并将结果
原型模式就是利用现有的对象实例复制出另一个实例。在某些情况下,可能需要同类型的很多对象,比如要在天空随机画出很多个星星,那么此时可以先实例化一个星星对象,然后利用这个实例复制出N个实例,再随机摆放它们各
抽象工厂模式由以下几部分组成:
1、抽象工厂,可以是抽象类或者接口,它里面定义了一组生产不同产品的方法。
2、具体工厂类,每一个具体工厂类负责生产具体的产品类型。
3、抽象产品,一般有多个。它们构成了整个
工厂方法模式是将具体产品的实例化推迟到子类中去实现。它由以下几部分组成:
1、抽象工厂接口,用来派生具体工厂类,它对外提供了统一的获取产品的方法名。
2、具体工厂类,继承/派生自抽象工厂接口,由具体工厂类
观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)。从名称上可以大概知道,观察者模式包括两个主体:被观察对象与观察对象。一般来