高性能PHP框架YAF的安装

一、Linux系统下安装YAF框架

YAF作为一个PHP扩展,与安装其他PHP扩展并没有任何的区别

环境:(测试环境)

  • 系统:Linux CentOS 6.5

  • PHP:php5.4

安装步骤:

  1. //第一步:下载最新稳定版源码包->官方下载地址:http://pecl.php.net/package/yaf
  2. wget http://pecl.php.net/get/yaf-2.3.5.tgz
  3. //第二步:解压
  4. tar -zxvf yaf-2.3.5.tgz
  5. //第三步:生成配置
  6. cd yaf-2.3.5
  7. /usr/local/php/bin/phpize
  8. //第四步:配置
  9. ./configure --with-php-config = /usr/local/php/bin/php-config
  10. //第五步:编译并安装
  11. make && make install
  12. //第六步:修改配置文件php.ini 添加下面这一行
  13. extension = yaf.so
  14. //第七步:重启PHP(如果是nginx重启php-fpm,apache重启apache)

二、检查yaf是否安装成功

  1. //在web目录下建立一个phpinfo.php的文件,打印phpinfo信息
  2. <?php
  3. phpinfo();

在浏览器中访问该文件,看是否有yaf的扩展信息

三、建立应用目录结构

1、通过脚本生成应用目录结构(推荐)
  1. //第一步:下载工具包(在YAF源码中):https://github.com/laruence/yaf
  2. wget https://github.com/laruence/yaf/archive/master.zip
  3. //第二步:解压工具包,进入工具包目录运行工具
  4. unzip master.zip
  5. cd tools
  6. cd cg
  7. /usr/local/php/bin/php yaf_cg appname //这里的appname换成你的项目目录名称
  8. cd output
  9. cp -R appname /home/www/appname //将生成的项目复制到你的www目录下
  10. //第三步:在浏览器中访问项目,如:http://localhost/appname/,如果正常则出现“Hello World! I am Stranger”就表示成功了
2、手动建立应用目录结构:
第一步:手动建立目录
  • public

    |- index.php //入口文件

    |- .htaccess //重写规则

    |+ css

    |+ img

    |+ js

  • conf

    |- application.ini //配置文件

  • application

    |+ controllers

    |- Index.php //默认控制器

    |+ views

    |+ index //控制器

    1. |- index.phtml //默认视图

    |+ modules //其他模块

    |+ library //本地类库

    |+ models //model目录

    |+ plugins //插件目录

第二步:建立配置文件 conf/application.ini,它只有一个必要配置即application.directory(项目应用程序目录)

注:配置中可使用定义的常量(这些常量一般在加载配置文件前定义的,在入口文件index.php或者启动文件Bootstrap.php中)

[product : common]表示product环境可继承common配置

  1. [common]
  2. application.directory = APP_PATH "/application"
  3. [product : common]
第三步:建立入口文件public/index.php
  1. <?php
  2. define('APP_PATH', dirname(__DIR__));
  3. $app = new Yaf_Application(APP_PATH.'/conf/application.ini');
  4. $app->run();
第四步:建立默认控制器文件application/controllers/Index.php
  1. <?php
  2. class IndexController extends Yaf_Controller_Abstract
  3. {
  4. public function indexAction()
  5. {
  6. $this->getView()->assign("content", "hello world!");
  7. }
  8. }
第五步:建立默认视图文件application/views/index/index.phtml
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>hello</title>
  5. </head>
  6. <body>
  7. <?php echo $content;?>
  8. </body>
  9. </html>