用Pear编写第一个PHP程序:着色

概述

Pear是PHP的类库仓库,使用Pear可以快速开发应用。操作系统是Debian,下面我们用一个Console-Color类库来论述开发步骤。

步骤

  1. 首先安装Pear

    sudo apt-get install php-pear
  2. Console_Color2类库信息可查看这里

  3. 用Pear安装Console_Color2

    sudo pear install Console_Color2

    但这时你可能会遇到异常提示

    Failed to download pear/Console_Color2 within preferred state “stable”, latest release is version 0.1.2, stability “alpha”, use “channel://pear.php.net/Console_Color2-0.1.2” to install
    install failed

    你可以根据提示来安装

    sudo pear install channel://pear.php.net/Console_Color2-0.1.2

    安装成功信息

    downloading Console_Color2-0.1.2.tgz …
    Starting to download Console_Color2-0.1.2.tgz (5,635 bytes)
    …..done: 5,635 bytes
    install ok: channel://pear.php.net/Console_Color2-0.1.2

  4. 查看已经安装的pear

    $ pear list
    Installed packages, channel pear.php.net:
    =========================================
    Package Version State
    Archive_Tar 1.4.0 stable
    Console_Color2 0.1.2 alpha
    Console_Getopt 1.4.1 stable
    PEAR 1.10.1 stable
    Structures_Graph 1.1.1 stable
    XML_Util 1.3.0 stable</pre>
  5. 当然你也可以模糊查找你需要的Pear,如

    pear search Console

    更多pear的命令可以使用help来查看。

  6. 安装成功后,pear一般放在include_path里,可以查看你的include_path

    $ php -i|grep include_path
    include_path =&gt; .:/usr/share/php:/usr/share/pear =&gt; .:/usr/share/php:/usr/share/pear

    我在debian系统中,pear类库放在了/usr/share/php里,如果类库不在include_path里,那么当你使用include时就需要使用绝对路径那个了。

  7. 使用Console_Color2编写一个小的打印程序

    <?php
    include "Console/Color2.php";
    $console = new Console_Color2();
    $str=$console--->convert("%gI'm a white\r\n%rand I'm a red\r\n%k%7and I'm noraml%n\n");
    echo $str;

    输出如下
    演示

  8. Color2的格式说明

    text      text            background
    ------------------------------------------------
    %k %K %0 black dark grey black
    %r %R %1 red bold red red
    %g %G %2 green bold green green
    %y %Y %3 yellow bold yellow yellow
    %b %B %4 blue bold blue blue
    %m %M %5 magenta bold magenta magenta
    %p %P magenta (think: purple)
    %c %C %6 cyan bold cyan cyan
    %w %W %7 white bold white white
    %F Blinking, Flashing
    %U Underline
    %8 Reverse
    %_,%9 Bold
    %n Resets the color
    %% A single %</pre>
  9. 查看Console_Color2源码,和Shell定义的颜色如出一辙,shell脚本中的echo显示内容可以通过参数-e来使其着色,格式

    echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"

    \033[是起始,m是结束,30—–37是字体颜色,40—–47是背景颜色,颜色依次是

    0:黑色
    1:蓝色
    2:绿色
    3:青色
    4:红色
    5:洋红色
    6:黄色
    7:白色

    格式含义如下

    \33[0m 关闭所有属性
    \33[1m 设置高亮度
    \33[4m 下划线
    \33[5m 闪烁
    \33[7m 反显
    \33[8m 消隐
    \33[30m — \33[37m 设置前景色
    \33[40m — \33[47m 设置背景色
    \33[nA 光标上移n行
    \33[nB 光标下移n行
    \33[nC 光标右移n行
    \33[nD 光标左移n行
    \33[y;xH设置光标位置
    \33[2J 清屏
    \33[K 清除从光标到行尾的内容
    \33[s 保存光标位置
    \33[u 恢复光标位置
    \33[?25l 隐藏光标
    \33[?25h 显示光标

    示例

    echo -e “\033[40;37m 黑底白字 \033[0m” 
    echo -e “\033[41;37m 红底白字 \033[0m”
    echo -e “\033[42;37m 绿底白字 \033[0m”
    echo -e “\033[43;37m 黄底白字 \033[0m”
    echo -e “\033[44;37m 蓝底白字 \033[0m”
    echo -e “\033[45;37m 紫底白字 \033[0m”
    echo -e “\033[46;37m 天蓝底白字 \033[0m”
    echo -e “\033[47;30m 白底黑字 \033[0m”

活在自己的世界,我突然有种悠然自得的赶脚!!!!

翟前锋 wechat
欢迎订阅我的微信公众号:zhaiqianfeng!