1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 CrossPHP 1.5.6 发布,轻量级 PHP 开发框架 下载

Discussion in '软件资讯' started by 漂亮的石头, 2016-08-08.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,979
    Likes Received:
    47
    1.5.6 更新说明

    功能增强


    增加Delegate::getApplication(),Delegate::getLoader()

    $app = Cross\Core\Delegate::loadApp('forum');

    //注册命名空间
    $loader = $app->getLoader();
    $loader->registerNamespace('abc', PROJECT_PATH.'abc');

    //实例化AclModule
    $application = $app->getApplication();
    $acl = $application->instanceClass('modules\admin\AclModule');

    $app->run();

    注册命名空间更容易(不使用Composer的情况下,使用支持PSR-4标准的第三方库).

    数据库操作增加以insert(),replace()开始的链式查询语句, 增加on(),set()方法

    $this->link->insert($table, $save_data)->on('DUPLICATE KEY UPDATE hits=hits+1')->stmtExecute();

    另外新增$this->link->getMetaData()方法用于获取表的基本信息

    增强运行时配置,并增加path用于指定config和cache文件夹路径

    Cross\Core\Delegate::loadApp('web', array(
    //配置和缓存文件路径
    'path' => array(
    'config' => PROJECT_PATH . 'config' . DIRECTORY_SEPARATOR,
    'cache' => PROJECT_PATH . 'cache' . DIRECTORY_SEPARATOR
    ),

    //配置资源路径
    'static' => array(
    'url' => '//cdn.abc.com'
    )
    ))->run();
    注释配置


    支持定义注释配置前缀,不再自动处理自定义注释配置,通过注册匿名函数parseAnnotate来处理自定义注释配置。

    $app = Cross\Core\Delegate::loadApp('web');
    $app->on('parseAnnotate', function($annotate, $params){
    echo $annotate.$params;
    })->run();

    当框架解析注释配置时,会调用此匿名函数。第一个参数为名称,第二个参数为配置项

    不兼容性更新


    1. APP_PATH_DIR常量不再接受外部定义


    2. 废除Delegate::di(),及与之关联的FrameBase::getDi(),FrameBase::getDii()


    3. Loader::getFilePath功能由FrameBase::getFilePath()替代,如果代码中有FrameBase的子类使用到了Loader::getFilePath,需要替换为$this->getFilePath


    4. Loader::read(),第一个参数必须传文件的绝对路径,第二个参数之前如果传false表示读取文件文本内容,现在更改为传true时读取文件内容


    5. View::res()方法生成资源链接时, 外部定义的res_url不再生效
    其他优化


    1. 增加Helper::subStrHTML(),Helper::formatHTMLString()


    2. 增加Request::getCurrentUrl()


    3. Request::getUserHostAddress()更名为getUserIPAddress(),Helper::getIp()调用该方法获取client的IP地址


    4. Document默认设置编码为utf-8


    5. Response内容为空时,不再输出http状态码对应的信息


    6. SessionAuth::set(),也会加密


    7. 增加View::ee(),判断数组中的变量是否为空,并输出默认值


    8. 增加Applocation::instanceClass(),实例化依赖delegate的类


    9. 增加Framebase::loadConfig(),用于读取指定的配置文件


    10. 修复特殊情况下,Router中获取Action为null的BUG


    11. 移除Config中的set()方法,CrossArray增加set()方法,并使用单例模式


    12. 修复跨APP生成链接时路由别名不生效的BUG


    13. 修复特殊情况下$_GET丢失第一个成员变量的BUG


    14. 异常页面调整,增加Previous trace,隐藏异常消息中的真实路径


    15. 修复某些情况下SQL语句包含%会出错的问题


    16. DBFactory默认支持memcache


    17. 优化getSQL(),增加一个参数用于是否只返回SQL


    18. set成员变量增加默认值,增加load_layer成员用于表示是否加载layer
    CrossPHP 1.5.6 发布,轻量级 PHP 开发框架下载地址
     
Loading...