MicroPHP 2.2.0 发布
ver 2.2.0:
增加了:
1.$this->cache为最新的phpfastcache2.1,缓存功能更加强大,而且编写自己的缓存类非常容易。
2.自定义缓存类说明:
$system['cache_drivers'] = array();
自定义缓存类文件的路径是$system['cache_drivers']的一个元素,可以有多个自定义缓存类。
缓存类文件名称命名规范是:
比如文件名是mycahe.php,那么文件mycahe.php里面的缓存类就是:class phpfastcache_mycahe{......}
mycahe.php的编写规范请参考:http://git.oschina.net/snail/microphp/blob/development/modules/cache-drivers/drivers/example.php
3.phpfastcache增加Redis缓存支持
4.Redis存储SESSION支持。
5.Memcache存储SESSION支持。
6.Mongodb存储SESSION支持。
7.Mysql存储SESSION支持。
8.有时候类库文件很多,都放在一个类库文件夹里面会显得很乱,不好管理。
因此增加了自动加载的类库子文件夹支持:类库文件放在配置的类库文件夹的一级子文件夹里面。
删除了:
1.WoniuCache已经被移除,请使用$this->cache代替
优化了:
1.缓存文件夹的创建。
升级提示:
1.如果项目中使用了WoniuCache进行缓存,请使用$this->cache->代替WoniuCache::
2.在$system中增加如下配置:
/**
* ========================缓存配置========================
*/
$system['cache_drivers'] = array();
$system['cache_config'] = array(
/*
* 默认存储方式
* 可用的方式有:auto,apc,sqlite,files,memcached,redis,wincache,xcache,memcache
* auto自动模式寻找的顺序是 : apc,sqlite,files,memcached,redis,wincache,xcache,memcache
*/
"storage" => "auto",
/*
* 默认缓存文件存储的路径
* 使用绝对全路径,比如: /home/username/cache
* 留空,系统自己选择
*/
"path" => "", // 缓存文件存储默认路径
"securityKey" => "", // 缓存安全key,建议留空,系统会自动处理 PATH/securityKey
/*
* 第二驱动
* 比如:当你现在在代码中使用的是memcached, apc等等,然后你的代码转移到了一个新的服务器而且不支持memcached 或 apc
* 这时候怎么办呢?设置第二驱动即可,当你设置的驱动不支持的时候,系统就使用第二驱动。
* $key是你设置的驱动,当设置的“storage”=$key不可用时,就使用$key对应的$value驱动
*/
"fallback" => array(
"memcache" => "files",
"memcached" => "files",
"redis" => "files",
"wincache" => "files",
"xcache" => "files",
"apc" => "files",
"sqlite" => "files",
),
/*
* .htaccess 保护
* true会自动在缓存文件夹里面建立.htaccess文件防止web非法访问
*/
"htaccess" => false,
/*
* Memcache服务器地址;
*/
"server" => array(
array("192.168.199.25", 11211, 1),
// array("new.host.ip",11211,1),
),
/*
* Redis服务器地址;
*/
"redis" => array(
'type'=>'tcp',//sock,tcp;连接类型,tcp:使用host port连接,sock:本地sock文件连接
'prefix'=>@$_SERVER['HTTP_HOST'],//key的前缀,便于管理查看,在set和get的时候会自动加上和去除前缀,无前缀请保持null
'sock'=>'',//sock的完整路径
'host' => '192.168.199.25',
'port' => 6379,
'password' => NULL,//密码,如果没有,保持null
'timeout'=>0,//0意味着没有超时限制,单位秒
'retry'=>100,//连接失败后的重试时间间隔,单位毫秒
'db' => 0, // 数据库序号,默认0, 参考 http://redis.io/commands/select
),
);
/**
* =======================SESSION管理配置=======================
*/
$system['session_handle'] = array(
'handle' => '', //支持的管理类型:mongodb,mysql,memcache,redis。不使用留空即可。
'common' => array(
'autostart' => true,//是否自动session_start()
'cookie_path' => '/',
'cookie_domain' => '.' . @$_SERVER['HTTP_HOST'],
'session_name' => 'PHPSESSID',
'lifetime' => 3600, // session lifetime in seconds
),
'mongodb' => array(
'host' => '192.168.199.25',
'port' => 27017,
'user' => 'root',
'password' => 'local',
'database' => 'local', // name of MongoDB database
'collection' => 'session', // name of MongoDB collection
// persistent related vars
'persistent' => false, // persistent connection to DB?
'persistentId' => 'MongoSession', // name of persistent connection
// whether we're supporting replicaSet
'replicaSet' => false,
),
/**
* mysql表结构
* CREATE TABLE `session_handler_table` (
`id` varchar(255) NOT NULL,
`data` mediumtext NOT NULL,
`timestamp` int(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`,`timestamp`),
KEY `timestamp` (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
*/
'mysql' => array(
'host' => '127.0.0.1',
'port' => 3306,
'user' => 'root',
'password' => 'admin',
'database' => 'test',
'table' => 'session_handler_table',
),
/**
* memcache采用的是session.save_handler管理机制
* 需要php安装memcache拓展支持
*/
'memcache' => "tcp://192.168.199.25:11211",
/**
* redis采用的是session.save_handler管理机制
* 需要php安装redis拓展支持,你可以在https://github.com/nicolasff/phpredis 找到该拓展。
*/
'redis' => "tcp://192.168.199.25:6379",
);
MicroPHP是一个免费、开源、敏捷的MVC模式的PHP开发框架。它易拓展而不失灵活,可以轻松对应大中小型项目。MicroPHP没有大而全的功能,只给你最需要的底层功能,但是给你无限的灵活拓展能力。其它框架都有的基本特性这里就不一一罗列。
说一下MicroPHP的特性:
1. 整个框架核心就一个文件MicroPHP.php(压缩后的文件MicroPHP.min.php,140KB左右)。
2.
入口文件index.php也是整个项目的配置文件,一个入口文件就是一个项目的入口,可以自定义多个入口文件达到不同项目共存的目的,项目之间随意共享
类库、帮助文件等目录,框架核心文件采用零侵入式编写,整个框架的运行不依赖任何外部变量,初始化的时候只要通过
WoniuRouter::setConfig($system)注入配置,然后WoniuRouter::loadClass()执行即可。
3. 独特的插件模式。
4. 项目控制器、模型、视图、类库等各种文件夹完全自定义,用到什么就建立什么文件夹,彻底摆脱一堆无用的一大堆文件夹的困扰。
5. 类库采用懒加载模式,只要按着规定命名规则,然后把你的类库文件扔到类库文件夹,在控制器或者模型中直接new 类库名()即可,系统会自动加载相应的类库文件。
6.
没有视图就不能指定视图数据?文件可以include共享那么视图为什么不能共享数据呢?在MicroPHP里面你不再有这个困挠,MicroPHP可以
在$this->view_vars数组里面存放你的任何想在视图里面使用的全局数据。
特别是网站头部导航用户数据全站每个页面都用到,那么可以自定义个控制器父类,然后和在父类构造方法里面初始化这个用户数据,放
到$this->view_vars里面,那么所有的控制器再也不用重复的去取用户数据传给视图。
7.
灵活的session托管,支持的管理类型:mongodb,mysql,memcache,redis.当然也可以用系统默认的管理方
式.session托管是可选的,根据项目具体情况择优选用即可。session托管的好处很多,比如:支持分布式、精确控制session过期时间,等
等。
8. 灵活的缓存机制。
(1).可用的方式缓存驱动
有:auto,apc,sqlite,files,memcached,redis,wincache,xcache,memcache。auto自动模
式寻找的顺序是 : apc,sqlite,files,memcached,redis,wincache,xcache,memcache。
(2).缓存配置有个第二驱动机制,比如:当你现在在代码中使用的是memcached, apc等等,然后你的代码转移到了一个新的服务器而且不支持memcached 或 apc这时候怎么办呢?设置第二驱动即可,当你设置的驱动不支持的时候,系统就使用第二驱动。
更多详细信息,请移步官网:http://microphp.us/
MicroPHP 2.2.0 发布的更多相关文章
- Visual Studio Code 1.0发布,支持中文在内9种语言
Visual Studio Code 1.0发布,支持中文在内的9种语言:Simplified Chinese, Traditional Chinese, French, German, Italia ...
- Apache Flume 1.7.0 发布,日志服务器
Apache Flume 1.7.0 发布了,Flume 是一个分布式.可靠和高可用的服务,用于收集.聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型.这是一个可靠.容错的服务. 本次更 ...
- Percona Server 5.6.33-79.0 发布
Percona Server 5.6.33-79.0 发布了,该版本基于 MySQL 5.6.33,包含了所有的 bug 修复,是Percona Server 5.6 系列中的正式版本.该版本主要是修 ...
- Rubinius 2.0 发布,Ruby 虚拟机
Rubinius 2.0 发布了,官方发行说明请看这里. Rubinius是一个运行Ruby程序的虚拟机,其带有Ruby的核心库. Rubinius的设计决定了其调试功能的强大,使得在运行时常规的Ru ...
- Restful.Data v2.0发布,谢谢你们的支持和鼓励
v1.0发布后,承蒙各位博友们的热心关注,也给我不少意见和建议,在此我真诚的感谢 @冰麟轻武 等朋友,你们的支持和鼓励,是这个开源项目最大的推动力. v2.0在除了细枝末节外,在功能上主要做了一下更新 ...
- 网页动物园2.0发布,经过几个月的努力,采用JAVA编写!
网页动物园2.0发布,经过几个月的努力,采用JAVA编写! 网页动物园2.0 正式发布!游戏发布 游戏名称: 网页动物园插件 游戏来源: 原创插件 适用版本: Discuz! X1.5 - X3.5 ...
- Redisson-Parent 2.5.0 和 3.0.0 发布
Redisson-Parent 2.5.0 和 3.0.0 发布了,Redisson 是基于 Redis 服务之上构建的分布式.可伸缩的 Java 数据结构,高级的 Redis 客户端. Rediss ...
- Rsync 3.1.0 发布,文件同步工具
文件同步工具Rsync 3.1.0发布.2013-09-29 上一个版本还是2011-09-23的3.0.9 过了2年多.Rsync基本是Linux上文件同步的标准了,也可以和inotify配合做实时 ...
- EasyCriteria 3.0 发布
EasyCriteria 3.0 发布了,这是一个全新的版本,进行了大量的重构.官方发行说明请看:http://uaihebert.com/?p=1898 EasyCriteria 是一个轻量级的框架 ...
随机推荐
- 添加了有道生词本的 chrome google翻译扩展和有道翻译扩展
在chrome发布项目,需要先花美金认证,还得要美国ID,无奈. 直接上源码,需手动导入. 原始项目源码并未开源,个人是从chrome本地文件里拿出来的,拓展来的,侵删(本来想着自已写一个,业余时间, ...
- Fedora22编译Qt3.3.X
FC22编译QT3 安装g++ dnf install gcc-c++ 1,configure ./configure -thread -no-nis -system-libpng -system-l ...
- 大批量GPS坐标转百度坐标
一. 百度地图API大批量转换时有数量限制,一个一个转. 用到的方法接口 /** 源坐标 格式:经度,纬度;经度,纬度… 最多支持100个; 源坐标类型:默认为1,即GPS ...
- php 中遍历数组时使用引用出现的问题
今天在使用foreach遍历数组时发现,当使用&时会出现问题: $arr = array( array('id' => 100, 'error'=> 'aa'), array('i ...
- 2-2. Initializing Objects with Initializer Lists
Using Uniform Initialization to Construct a vector #include <iostream> #include <vector> ...
- city-picker 选择省市县的一个控件,好用。
我觉得好奇怪,这么好一个插件,为什么没有设置值的方法,还是我才疏学浅?? 我看有的人做法是把,把源代码里面的自动扫描机制注释掉 // $(function () { // $('[data-toggl ...
- Linux系统调用
在前面,我们接触到了很多函数能够实现系统相关的功能,比如解析命令行参数.控制进程以及映射内存等等.实际上,这些函数能够分为两大类: 库函数--这些函数就像普通函数一样,参数放置在寄存器或者栈里,运行时 ...
- 对象的比较与排序:IComparable和IComparer接口
IComparable和ICompare 接口是.net framework 中比较对象的标准方式,这两个接口提供一个返回值类似(大于0 等于0 小于0)的比较方法,二者区别如下: . ICompar ...
- Hadoop streaming模式获取jobconf参数
1. 像map_input_file这种环境变量是在hadoop-streaming.jar程序中设置的,所以无需-cmdenv map_input_file参数就可以在php中直接引用,如$var= ...
- System.Web.Mvc.UrlHelper的学习与使用
我们学习一下UrlHelper帮助类,看类名也都知道这个类是用来帮我们生成URL在ASP.NET MVC应用程序中.让我们来看看该类给我们带来了哪些方便的方法和属性,UrlHelper提供了四个非常常 ...