分类 PHP 下的文章

基于schema匹配为基础,计算gml文件结构匹配相似度


起步

这里的schema文档时指定义xml文件结构的.xsd文件,gml其实就是有schema约束的xml文件。

2000年5月,OGC推出了基于XML DTD (Document Type Definitions,文档类型定义)和RDF(Resource Description Frameworks,资源描述框架)的GML 1.0版。

2001年2月,OGC又推出了完全基于XML Schema 的GML 2.0版。

2001年2月,OGC又推出了完全基于XML Schema 的GML 2.0版。2003年2月,GML 3.0版正式发布。

所以,现在gml通用解释:地理标记语言(Geography Markup Language),GML是XML在地理空间信息领域的应用。但在这里只是表示有schema约束的xml文件,注意,不要混了。

github地址:https://github.com/sasukeax/schema_match


我的PHP编码规范


1.文件格式规范

php文件标记

统一以<?php开始,放弃<?短标签,对于只含php代码的文件舍弃?>结尾。

缩进应该能反映代码的逻辑结果

使用tab或者四个空格

多变量赋值保持相等间距和排列

$arr = array(
    'id'        => '0',     //表格索引
    'userid'    => '123',   //所属用户id编号
    'groupid'   => '0',     //所属群组id
    'menuid'    => '0'      //模块id
);


PHP错误处理及异常处理


起步

PHP提供了错误处理和日志记录的功能。这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式,这样,你就可以根据自己的需要,来更改和加强错误输出信息以满足实际需要。

通过日志记录功能,你可以将信息直接发送到其他日志服务器,或者发送到指定的电子邮箱(或者通过邮件网关发送),或者发送到操作系统日志等,从而可以有选择的记录和监视你的应用程序和网站的最重要的部分。


PHP 5.3、5.4、5.5、5.6 中的新特性


文章转载:http://segmentfault.com/a/1190000002790818

PHP 5.6

1、可以使用表达式定义常量

https://php.net/manual/zh/migration56.new-features.php

在之前的 PHP 版本中,必须使用静态值来定义常量,声明属性以及指定函数参数默认值。 现在你可以使用包括数值、字符串字面量以及其他常量在内的数值表达式来 定义常量、声明属性以及设置函数参数默认值。

<?php
const ONE = 1;
const TWO = ONE * 2;    //定义常量时允许使用之前定义的常量进行计算

class C {
    const THREE = TWO + 1;
    const ONE_THIRD = ONE / self::THREE;
    const SENTENCE = 'The value of THREE is '.self::THREE;

    public function f($a = ONE + self::THREE) { //允许常量作为函数参数默认值
        return $a;
    }
}

echo (new C)->f()."\n";
echo C::SENTENCE;
?>

可以通过 const 关键字来定义类型为 array 的常量。

<?php
const ARR = ['a', 'b'];
echo ARR[0];
?>


插件发布:LoginLimit_for_Typecho 登录限制,防字典爆破


LoginLimit


起步

var/Widget/User.php中约117行,将这三行注释,因为这边有执行插件就返回插件的返回结果,而插件并没有验证登录逻辑。

微信截图_20151207152313.png

不注释掉自己都会登录失败

使用方法:

第一步:下载本插件,放在 usr/plugins/ 目录中;
第二步:激活插件;
第三步:设置30分钟允许登录失败次数;
第四步:完成。

管理:

管理后台-管理-登录日志:可查看别人尝试登录系统的记录。

特别说明:

这个插件是为满足个人需求而编写,兼容性方面多多少少会有不完善的地方,如有需求,可根据源代码自行修改,或者与我联系。

github开源地址:https://github.com/hongweipeng/LoginLimit_for_Typecho

与我联系:

作者:hongweipeng
主页:blog.west2online.com
或者通过 Emai:hongweichen8888@sina.com 有任何问题也可评论留言