频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
yaf基础使用教程
2017-10-13 16:08:00         来源:偶爱喝可乐  
收藏   我要投稿

1.安装

# 创建一个yaf文件夹
mkdir ~/yaf

# 切换到该文件夹
cd ~/yaf

# 下载yaf压缩包
wget https://pecl.php.net/get/yaf-3.0.5.tgz

# 解压压缩包
tar -xf yaf-3.0.5.tgz

# 切换到yaf文件夹
cd yaf-3.0.5

# 编译安装,参考:https://php.net/manual/zh/install.pecl.phpize.php
phpize
./configure --with-php-config=/usr/bin/php-config7.0
make

# 把.so文件放到扩展目录
sudo cp modules/yaf.so /usr/lib/php/20151012/

# 设置权限
sudo chmod 644 /usr/lib/php/20151012/yaf.so

# 生成编译配置文件
sudo vi /etc/php/7.0/mods-available/yaf.ini

# 文件写入以下内容
; configuration for php common module
; priority=10
extension=yaf.so

# 设置配置文件软连接到php加载额外扩展配置
cd /etc/php/7.0/fpm/conf.d

# fpm支持
sudo ln -s /etc/php/7.0/mods-available/yaf.ini ./20-yaf.ini
cd /etc/php/7.0/cli/conf.d

# cli支持
sudo ln -s /etc/php/7.0/mods-available/yaf.ini ./20-yaf.ini

# 如有报错把.so文件copy到这个目录下面一份
/var/lib/php/modules/7.0/registry
/var/lib/php/modules/7.0/fpm/enabled_by_maint
/var/lib/php/modules/7.0/cli/enabled_by_maint

2.检查是否安装成功

print_r(phpinfo());

3.项目结构

+ public
  |- index.php //入口文件
  |- .htaccess //重写规则    
  |+ css
  |+ img
  |+ js
+ conf
  |- application.ini //配置文件   
+ application
  |+ controllers
     |- Index.php //默认控制器
  |+ views    
     |+ index   //控制器
        |- index.phtml //默认视图
  |+ modules //其他模块
  |+ library //本地类库
  |+ models  //model目录
  |+ plugins //插件目录

4.配置项

config/application.ini

注! APP_PATH定义在public的index.php中
application.directory=APP_PATH "/application/" # 应用的绝对路径
application.ext=php # PHP脚本的扩展名
application.bootstrap=Bootstrapplication.php    #  Bootstrap路径(绝对路径)
application.library=application.directory + "/library"  # 本地(自身)类库的绝对目录地址
application.baseUri=NULL    # 在路由中, 需要忽略的路径前缀, 一般不需要设置, Yaf会自动判断.
application.dispatcher.defaultModule=index  # 默认的模块
application.dispatcher.throwException=True  # 在出错的时候, 是否抛出异常
application.dispatcher.catchException=False # 是否使用默认的异常捕获Controller, 如果开启, 在有未捕获的异常的时候, 控制权会交给ErrorController的errorAction方法, 可以通过$request->getException()获得此异常对象
application.dispatcher.defaultController=index  # 默认的控制器
application.dispatcher.defaultAction=index  # 默认的动作(action)
application.view.ext=phtml  # 视图模板扩展名
application.modules=Index   # 声明存在的模块名, 请注意, 如果你要定义这个值, 一定要定义Index Module
application.system.*=*通过这个属性, 可以修改yaf的runtime configure, 比如application.system.lowcase_path, 但是请注意只有PHP_INI_ALL的配置项才可以在这里被修改, 此选项从2.2.0开始引入

5.简单的搭建一个测试modules

目录结构

application
    |+modules
        |+Test
            |+controllers
                |+Test.php
                |+views
                    |+test

application/modules/Test/controllers/Test.php

getView()->assign("content", "Hello World");
    }
}

views/test/index.phtml





6.路由

config/application.ini

可直接访问

https://localhost/test/test/index

还有很多更灵活的路由配置方法参考路由协议

点击复制链接 与好友分享!回本站首页
上一篇:A+B for Polynomials“编程题”
下一篇:字符串算法:出现单一数Single Number
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站