hongweipeng 发布的文章

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 有任何问题也可评论留言


wamp把apache2.2升级为2.4


起步

下载的php5.6版本想像5.4版本一样把php5apache2_2.dll拷过来用,但是wamp死活启动不了,难道与5.6无缘了吗,打开5.6目录发现有个php5apache2_4.dll,瞬间明白,它有自带的动态链接库是要求apache2.4版本的。总结一句话:5.6需要apache2.4。

第一步

首先都是下载啦httpd-2.4.17-win32,选择 httpd-2.4.17-win32-VC14.zip 下载。在wamp/bin/apache/下建立个apache2.4文件夹。 解压zip到新建的文件夹。拷贝2.2根目录下的wampserver.conf过来。

第二步

只是简单复制并不能启动apache2.4,修改apache2.4/config/httpd.conf文件,大概需要修改以下部分:


wamp尝鲜php7


起步

php7终于正式发布了,迫不及待想去试下,先拿公司的电脑开刀,环境是wamp,还是32位的,从官网php7.0.0下载windows版本 VC14 x86 Thread Safe,升级wamp的php版本如下:

第一步

wamp的php放在wamp/bin/php,我们在该目录新建php7.0.0文件夹

微信截图_20151207091933.png

把下载的压缩包解压到刚建的php7.0.0文件夹中。 微信截图_20151207092026.png


git 2.0的push


起步

好久没用linux了,命令都不熟悉了.linux下安装的git版本比较新,2.x版本,在push时候收到了下面的报错:

$ git push
warning: push.default 尚未设置,它的默认值在 Git 2.0 从 'matching'
变更为 'simple'。若要不再显示本信息并保持传统习惯,进行如下设置:

  git config --global push.default matching

若要不再显示本信息并从现在开始采用新的使用习惯,设置:

  git config --global push.default simple

当 push.default 设置为 'matching' 后,git 将推送和远程同名的所有
本地分支。

从 Git 2.0 开始,Git 缺省采用更为保守的 'simple' 模式,只推送当前
分支到远程关联的同名分支,即 'git push' 推送当前分支。

参见 'git help config' 并查找 'push.default' 以获取更多信息。
('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,
为保持兼容,请用 'current' 代替 'simple')

Matching

matching 参数是 Git 1.x 的默认行为,其意是如果你执行 git push 但没有指定分支,它将 push 所有你本地的分支到远程仓库中对应匹配的分支。

Simple

而 Git 2.x 默认的是 simple,意味着执行 git push 没有指定分支时,只有当前分支会被 push 到你使用 git pull 获取的代码。

修改默认设置

从上述消息提示中的解释,我们可以修改全局配置,使之不会每次 push 的时候都进行提示。对于 matching 输入如下命令即可:

$ git config --global push.default matching

而对于 simple ,请输入:

$ git config --global push.default simple