VIM中PHP代码使用tab键自动完成

目录结构

$ tree -C ~/.vim | grep -v ".cnx"

|-- dict
|   |-- php.dict
|-- syntax
    |-- php.vim 

1. PHP5.4语法文件

$ cd ~/.vim/syntax/
$ wget https://raw.github.com/ueaner/tools/master/vim/syntax/php.vim
Read More →

PHP 安装 Markdown 扩展

系统环境:

  • CentOS 6.4 x86_64

使用 phpize 安装

如果你没有使用过 phpize,请参考 使用 phpize 安装 PHP 扩展

首先到 PECL 扩展库 下载 Markdown 源码包:

Read More →

PHP代码优化技巧

基本

1. 使用单引号代替双引号(在含有变量的情况下)
    echo "string";
    echo 'string ' . $var;

2. 数组下标加引号
    $arr['key']
    $arr[$key]

3. 使用 $i += 2 代替 $i = $i + 2

4. 使用 ++$i 代替 $i++ (仅适用于PHP)

5. 尽量避免使用 continue(可以通过适当的构造)

6. 避免在 for 循环条件语句中使用函数
    for ($i = 0, $len = strlen($str); $i < $len; ++$i) {
        // 尽量避免在循环内部声明变量,尤其是大变量:对象/数组
        // do something
    }

7. 数组循环使用 foreach 代替 for
    foreach ($user_list as $user) {
        // 避免在循环内部执行 SQL 语句,mysqli_query('...')
        // do something
    }

8. 使用 include/require 代替 include_once/require_once

9. 在 include/require 中使用绝对路径
    define('BASEPATH', dirname(__FILE__));
    include BASEPATH . '/path/to/file.php';

10. 使用三目运算代替 if else

11.使用 switch case 代替 if elseif ... else

12.尽量避免使用错误控制运算符"@"(错误是用来解决的,不是用来忽略的)

13.避免多层嵌套

14.不要没有原因的复制一个变量(如:变量只用一次。如果是作为函数N多参数的一员,可以换行)

15.尽可能使用局部变量代替全局变量和对象属性(变量先声明后使用)

16.适当的使用大变量和全局变量,用完 unset 掉

17.使用 NULL === 代替 is_null

18.尽量使用 === 代替 ==
Read More →

VIM+DBGp+Xdebug调试PHP程序

Xdebug 简介

Xdebug 是一个开源的 PHP 程序调试器,可以用来跟踪,调试和分析 PHP 程序的运行状况。 本文只做跟踪调试,分析 PHP 程序的运行状况,请看 使用 Xdebug + Webgrind 分析 PHP 程序

安装 xdeubg zend 扩展

# yum install php-pecl-xdebug
Read More →

使用 Xdebug + Webgrind 分析 PHP 程序

安装 xdeubg zend 扩展

# yum install php-pecl-xdebug

配置 php.d/xdebug.ini

# vi /etc/php.d/xdebug.ini
; 加入以下内容
; profiler
xdebug.profiler_enable=1
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=/tmp/xdebug
xdebug.profiler_output_name=cachegrind.out.%p

; trace
xdebug.auto_trace=1
xdebug.show_exception_trace=1
xdebug.trace_output_dir=/tmp/xdebug
xdebug.trace_output_name=trace.%c
Read More →

使用 XHProf 分析你的 PHP 程序

简介

XHProf是一个轻量级PHP性能分析工具,类似 xdebug,但比 xdebug 分析的信息更加详细, 包括函数的调用次数,花费的时间(自身花费时间和包含内部函数花费的时间),所占内存/CPU,所占内存的峰值及所占百分比, 为什么用的是呢,因为源码包中 xhprof_lib/display/xhprof.php 文件里还有一个 Incl. User (microsecs)Incl. Sys (microsec) 没有在结果中显示,有兴趣的同学可以研究研究。

Read More →

FreeBSD 9.1 下安装 NGiNX + Percona Server + PHP

安装nginx

# cd /usr/ports/www/nginx
# make install clean

/usr/local/etc/rc.d/nginx start

安装Percona Server

# cd /usr/ports/databases/percona55-client/
# make install clean
# cd /usr/ports/databases/percona55-server/
# make install clean

# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf

# /usr/local/etc/rc.d/mysql-server start
Read More →

PHP 5.5 加载 PhalconPHP 框架版本问题

前言

PHP 升级到 5.5 无法加载 PhalconPHP 扩展,提示以下错误:

PHP Warning:  PHP Startup: phalcon: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212
These options need to match
 in Unknown on line 0
Read More →

先来跑一个 PhalconPHP 框架的 MVC 实例

系统环境

  • CentOS 6.4 x86_64
  • PHP 5.5.12
  • Phalcon 1.3.2

紧接着上一篇文章 搭建 PhalconPHP 框架开发环境,我们初步认识了 PhalconPHP 框架。 这一篇就让我们来跑一个 PhalconPHP 框架的 MVC 实例。

Read More →

快速搭建 Percona Server + PHP + NGiNX 开发环境

系统环境:

  • CentOS 6.4 x86_64

如果使用的 FreeBSD 系统请查看 FreeBSD9.1 下安装 NGiNX + Percona Server + PHP

安装 Percona Server

请移驾至 Linux 下 YUM 安装 Percona Server 5.6

Read More →