2015年12月

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


深入JVM内核(四)


今天让我们对GC及其算法进行研究。

首先,什么是GC,我们在前面说过,就算垃圾收集器,Java中,GC的对象是堆空间和永久区。那么它是靠什么方法来搜集垃圾的呢?有以下四种:

  1. 引用计数法
  2. 标记清除
  3. 标记压缩
  4. 复制算法

    让我们逐个介绍。