zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    BZOJ1901(主席树+树状数组 实现“动态主席树”)
    BZOJ2460: [BeiJing2011]元素(线性基+贪心)
    BZOJ4448: [Scoi2015]情报传递(主席树)
    详解mysql int类型的长度值问题【转】
    数据库设计三范式【转】
    aliyun阿里云Maven仓库地址——加速你的maven构建
    VMware 设备VMnet0 上的网桥暂时关闭。此虚拟机无法与主机或网格中的其他计算机通信【转】
    Maven项目中的pom.xml详解【转】
    直接启动tomcat时为tomcat指定JDK
    Spring自动注入properties文件
  • 原文地址:https://www.cnblogs.com/shihao/p/3423059.html
Copyright © 2011-2022 走看看