zoukankan      html  css  js  c++  java
  • [Ubuntu] Yii API manual for Vim

    I found a good plugin for vim, that is Yii API manual for Vim, which you can check 

    the api in vim!

    here is the website: https://github.com/vim-scripts/Yii-API-manual-for-Vim

    But that, why i write this article is that, when i Creatting custom version follows:

    git clone https://github.com/yiisoft/yii.git /media/My_Documents/htdocs/yii
    cd /media/My_Documents/htdocs/yii/build
    
    export YII_CONSOLE_COMMANDS=/path/to/yii-api-vim/yii_commands/
    ./build vimapi /media/My_Documents/htdocs/yii/docs

    I got these errors: 

    Building.. : Yii Framework Class Reference for vim
    Version... : 1.1.14-dev
    Source URL : http://code.google.com/p/yii/source/browse/trunk/framework
    
    Building model...
    PHP Error[2]: require_once(PHPUnit/Runner/Version.php): failed to open stream: No such file or directory
        in file /media/My_Documents/htdocs/yii/framework/test/CTestCase.php at line 11
    #0 /media/My_Documents/htdocs/yii/framework/test/CTestCase.php(11): require_once()
    #1 /media/My_Documents/htdocs/yii/framework/YiiBase.php(395): include()
    #2 unknown(0): autoload()
    #3 /media/My_Documents/htdocs/yii/framework/test/CDbTestCase.php(41): spl_autoload_call()
    #4 /media/My_Documents/htdocs/yii/build/commands/api/ApiModel.php(35): require_once()
    #5 /media/My_Documents/htdocs/yii/build/commands/api/ApiModel.php(26): ApiModel->findClasses()
    #6 /home/davidhhuan/.vim/bundle/Yii-API-manual-for-Vim/yii_commands/VimApiCommand.php(139): ApiModel->build()
    #7 /home/davidhhuan/.vim/bundle/Yii-API-manual-for-Vim/yii_commands/VimApiCommand.php(126): VimApiCommand->buildModel()
    #8 /media/My_Documents/htdocs/yii/framework/console/CConsoleCommandRunner.php(67): VimApiCommand->run()
    #9 /media/My_Documents/htdocs/yii/framework/console/CConsoleApplication.php(91): CConsoleCommandRunner->run()
    #10 /media/My_Documents/htdocs/yii/framework/base/CApplication.php(169): CConsoleApplication->processRequest()
    #11 /media/My_Documents/htdocs/yii/framework/yiic.php(33): CConsoleApplication->run()
    #12 /media/My_Documents/htdocs/yii/build/build(17): require_once()
    davidhhuan@davidhhuan-ThinkPad-T410:/media/My_Documents/htdocs/yii/build$ pear install phpunit/PHPUnit
    Attempting to discover channel "phpunit"...
    downloading channel.xml ...
    Starting to download channel.xml (1 bytes)
    ....done: 1 bytes
    unknown channel "phpunit" in "phpunit/PHPUnit"
    invalid package name/package file "phpunit/PHPUnit"
    install failed

    My system is Ubuntu 12.04

    that means i have NOT installed the PHPUnit, then i install the PHPUnit

    sudo apt-get install phpunit

    after that, i re-run this command:

    ./build vimapi /media/My_Documents/htdocs/yii/docs

    again, this time i got these errors:

    Building.. : Yii Framework Class Reference for vim
    Version... : 1.1.14-dev
    Source URL : http://code.google.com/p/yii/source/browse/trunk/framework
    
    Building model...
    PHP Error[2]: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory
        in file /usr/share/php/PHPUnit/Autoload.php at line 46
    #0 /usr/share/php/PHPUnit/Autoload.php(46): require_once()
    #1 /media/My_Documents/htdocs/yii/framework/test/CTestCase.php(15): require_once()
    #2 /media/My_Documents/htdocs/yii/framework/YiiBase.php(395): include()
    #3 unknown(0): autoload()
    #4 /media/My_Documents/htdocs/yii/framework/test/CDbTestCase.php(41): spl_autoload_call()
    #5 /media/My_Documents/htdocs/yii/build/commands/api/ApiModel.php(35): require_once()
    #6 /media/My_Documents/htdocs/yii/build/commands/api/ApiModel.php(26): ApiModel->findClasses()
    #7 /home/davidhhuan/.vim/bundle/Yii-API-manual-for-Vim/yii_commands/VimApiCommand.php(139): ApiModel->build()
    #8 /home/davidhhuan/.vim/bundle/Yii-API-manual-for-Vim/yii_commands/VimApiCommand.php(126): VimApiCommand->buildModel()
    #9 /media/My_Documents/htdocs/yii/framework/console/CConsoleCommandRunner.php(67): VimApiCommand->run()
    #10 /media/My_Documents/htdocs/yii/framework/console/CConsoleApplication.php(91): CConsoleCommandRunner->run()
    #11 /media/My_Documents/htdocs/yii/framework/base/CApplication.php(169): CConsoleApplication->processRequest()
    #12 /media/My_Documents/htdocs/yii/framework/yiic.php(33): CConsoleApplication->run()
    #13 /media/My_Documents/htdocs/yii/build/build(17): require_once()

    ok, follow these steps:

    sudo pear channel-discover pear.phpunit.de
    sudo pear channel-discover components.ez.no
    sudo pear install phpunit/PHP_CodeCoverage

    after that, i re-run this command:

    ./build vimapi /media/My_Documents/htdocs/yii/docs

    now, i got these errors...

    Building.. : Yii Framework Class Reference for vim
    Version... : 1.1.14-dev
    Source URL : http://code.google.com/p/yii/source/browse/trunk/framework
    
    Building model...
    PHP Fatal error:  Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Autoload.php on line 64

    Damn... After searching and trying for serveal methods from google, i still blocked here, then i try to modify the file /usr/share/php/PHPUnit/Autoload.php, add 

    these codes to it:

    private static $_self = null;
    public static function getInstance()
    {
        if (self::$_self==null)
        {
            self::$_self = new PHP_CodeCoverage_Filter;
        }
        return self::$_self;
    }

    and then i modify the file, /etc/php5/cli/php.ini, uncommend this line:

    include_path = ".:/usr/share/php"

    then i re-try:

    ./build vimapi /media/My_Documents/htdocs/yii/docs

    yes, again, i got new errors:

    Building.. : Yii Framework Class Reference for vim
    Version... : 1.1.14-dev
    Source URL : http://code.google.com/p/yii/source/browse/trunk/framework
    
    Building model...
    PHP Error[2]: require_once(PHPUnit/Extensions/SeleniumTestCase.php): failed to open stream: No such file or directory
        in file /media/My_Documents/htdocs/yii/framework/test/CWebTestCase.php at line 12
    #0 /media/My_Documents/htdocs/yii/framework/test/CWebTestCase.php(12): require_once()
    #1 /media/My_Documents/htdocs/yii/build/commands/api/ApiModel.php(35): require_once()
    #2 /media/My_Documents/htdocs/yii/build/commands/api/ApiModel.php(26): ApiModel->findClasses()
    #3 /home/davidhhuan/.vim/bundle/Yii-API-manual-for-Vim/yii_commands/VimApiCommand.php(139): ApiModel->build()
    #4 /home/davidhhuan/.vim/bundle/Yii-API-manual-for-Vim/yii_commands/VimApiCommand.php(126): VimApiCommand->buildModel()
    #5 /media/My_Documents/htdocs/yii/framework/console/CConsoleCommandRunner.php(67): VimApiCommand->run()
    #6 /media/My_Documents/htdocs/yii/framework/console/CConsoleApplication.php(91): CConsoleCommandRunner->run()
    #7 /media/My_Documents/htdocs/yii/framework/base/CApplication.php(169): CConsoleApplication->processRequest()
    #8 /media/My_Documents/htdocs/yii/framework/yiic.php(33): CConsoleApplication->run()
    #9 /media/My_Documents/htdocs/yii/build/build(17): require_once()

    ok, i download the PHPUnit_Selenium from http://pear.phpunit.de/, uncompress it and copy the folder PHPUnit to /usr/share/php

    then i re-try:

    ./build vimapi /media/My_Documents/htdocs/yii/docs

    then....

    Building.. : Yii Framework Class Reference for vim
    Version... : 1.1.14-dev
    Source URL : http://code.google.com/p/yii/source/browse/trunk/framework
    
    Building model...
    Building help files...
    Done.

    Thanks goodsness!!! I done it!!!

    BTW, If you want to use keyword search (which allows to press <S-k> over any keyword) then you should add this line to your .vimrc:

    autocmd BufNewFile,Bufread *.php set keywordprg="help"

    Have fun with Yii and vim!!!

  • 相关阅读:
    个人学期总结
    管理信息系统 第三部分 作业
    模型分离(选做)
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
    评论列表显示及排序,个人中心显示
    完成评论功能
    ASP.NET Core开发者指南
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/2857301.html
Copyright © 2011-2022 走看看