2011年最热门的PHP开源项目回顾

本文来自于对活跃在SourceForge和GitHub上的项目的分析研究,同时我也在Twitter上向大家进行了调查,以免漏掉了很热门但是我却不知道的项目。

下面列出的项目都非常受欢迎,同时它们也成为了PHP编程界的标准,前景很好。(排名不分先后)

1. Symfony 2 及其组件

Symfony 2是一个完备的全栈HTTP框架,它可以以任何需要的方式来满足HTTP请求,而不仅仅是一个严格的MVC方法。Symfony 2为定义模块提供了一个Bundle API,你可以在应用程序之间进行模块移植。

此外,Symfony 2 有21个独立的组件,每个组件可当作一个独立的库。你可以用一个简单的Git子模块查看标准Autoloader或依赖注入容器。

阅读更多

PHP5.3.9发布

PHP

PHP5.3.9的安全改进和修复主要包括:

  • 在hash碰撞的基础上增加max_input_vars来防止冲撞
  • 修复了bug #60150

PHP5.3.9主要的改进包括

  • 修复了bug #55475
  • 修复了bug #55609
  • 改进了FPM SAPI 模块

官方网站原文如下:

阅读更多

一个非常简单的PHP网站首页静态化方案

下面这段代码是一个用PHP编写的网站首页静态化程序,代码并非站长本人所写,只是在一个项目中看到的。这个方案是将首页内容存入到一个磁盘文件中,需要时从这个文件中取出内容并输出。

这个方案只适用于并发量不高的网站,因为在较高并发量状况下,频繁的进行磁盘IO对于性能影响较大。(高并发的网站可以考虑将内容存入Memcached)

代码如下:

阅读更多

分享一个支持UTF-8的PHP字符串截取函数

截取UTF-8编码字符串的方法有很多,我也分享一个:

function cutStr($Str, $Length)
{
    global $s;
    $i = 0;
    $l = 0;
    $ll= strlen($Str);
    $s = $Str;
    $f = true; 

    while ($i <= $ll) {
        if (ord($Str{$i}) < 0x80) {
            $l++; $i++;
        } elseif (ord($Str{$i}) < 0xe0) {
            $l++; $i += 2;
        } elseif (ord($Str{$i}) < 0xf0) {
            $l += 2; $i += 3;
        } elseif (ord($Str{$i}) < 0xf8) {
            $l += 1; $i += 4;
        } elseif (ord($Str{$i}) < 0xfc) {
            $l += 1; $i += 5;
        } elseif (ord($Str{$i}) < 0xfe) {
            $l += 1; $i += 6;
        }
        if (($l >= $Length - 1) && $f) {
            $s = substr($Str, 0, $i);
            $f = false;
        }
        if (($l > $Length) && ($i < $ll)) {
            $s = $s . '...';
            break; //如果进行了截取,字符串末尾加省略符号“...”
        }
    }
    return $s;
}

2011年使用率增长最快的十大Web技术

W3techs网站评出了2011年十大使用增速最快的Web技术,本文对其进行编译供各位参考。注意,该评选结果是在针对前100万流行网站(根据Alexa值统计)进行调查统计出的。

以下是2011年前100万流行网站中使用率增长最多的10大Web技术。

1. jQuery

jQuery在前100万流行网站选择中新增了惊人的145 300个名额。也就是,在过去的一年中,每天都有398个网站开始使用它。jQuery目前在所有网站中的使用率已达到了42.8%。其市占率更是达到了 84.1%,许多人都将它视为JavaScript库的事实标准。

2. UTF-8

UTF-8在去年的榜单中居于榜首地位,而且也正变得越来越流行。去年有82 6000个新增网站选择使用它。目前已有超过2/3的网站将字符编码切换为UTF-8。

阅读更多

PHP 5.4 alpha1 发布

PHP

PHP 刚刚发布了 5.4 的第一个 alpha 测试版本,该版本主要改进包括:

新增: Traits language construct
新增: Array dereferencing support
新增: DTrace support
提升: Improved Zend Engine memory usage and performance
移动: ext/sqlite moved to pecl (sqlite3 support is still built-in)

删除的一些特性:

Removed: break/continue $var syntax
Removed: register_globals, allow_call_time_pass_reference, and register_long_arrays ini options
Removed: session_is_regisitered(), session_registered(), and session_unregister()