Yaf框架的使用

8 篇文章 0 订阅

在使用Yaf框架之前首先要看自己的php是否支持yaf扩展,如果没有安装yaf扩展的话,请参考如下地址进行安装:

https://blog.csdn.net/weixin_39278982/article/details/85002833

在安装完Yaf扩展后就可以创建我们的第一个yaf项目了。^_^

下图是一个典型的目录结构,文件和文件夹都需要自己手动去创建的哦:

application是应用程序存放的主要目录,该目录下包含controllers(用来存放控制器文件)、library(自定义类库,在yaf基础上支持自己的封装)、models(用来存放数据库文件)、modules(可以创建好多个模块,模块下有controllers和views)、plugins(该目录用来存放插件)、views(用来存放视图文件)。

和application同级的有conf(主要用来存放框架的配置文件)、public(yaf默认唯一访问入口)。

下面我们就该在以上创建的文件里头添加内容喽。

1、在public下的.htaccess文件下添加如下内容:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !(\.(ico|gif|jpg|png|bmp|swf|css|js))
RewriteRule .* index.php

2、在public下的index.php入口文件中添加如下内容:

<?php
define("APP_PATH",  realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */

$app  = new Yaf_Application(APP_PATH . "/conf/application.ini");

$app->run();

3、在config目录下的application.ini中添加如下内容:

[commen]
application.debug=1
application.directory=APP_PATH "/application/"
application.dispatcher.defaultModule="index"
application.dispatcher.defaultController="index"
application.dispatcher.defaultAction="index"
application.dispatcher.throwException=1
application.modules="index,learn,test"
application.module.dir="modules"
application.module.config="setting"
application.view.ext="phtml"
[product]
;支持直接写PHP中的已定义常量
application.directory=APP_PATH "/application/"

4、在application下的controllers下的Index.php文件中添加如下内容:

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {//默认Action
        $this->getView()->assign("content", "Hello World");
    }
}
?>

5、在application下的views下的index下的index.phtml文件中添加如下内容,phtml后缀的文件表示php、html共存的一种文件,yaf中提倡页面文件中使用这种格式的文件而不是html文件,当然使用html文件的话也可以在config下的application.ini中进行如下设置:

application.ini中配置:application.view.ext="html"

index.phtml中添加如下内容:

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
  <?php echo $content;?>
 </body>
</html>

到这块我们的yaf项目已经创建完成,访问的话我们可以在nginx配置文件里配置一个虚拟主机来访问,以下是配置nginx虚拟主机

server
    {
        listen 9880 ;  #可自行设置端口号
        server_name 000.00.00.00;  #服务器IP或者域名,自己定义
        index index.html index.htm index.php;
        root  /home/wwwroot/yaf/public/;

        include enable-php-pathinfo.conf;#如果启动nginx这行报错的话请注释

        access_log  /home/wwwroot/yaf/access.log;
        #匹配到所有的url请求 (包括 图片 js css php ...) 
        location / {
            #如果没有找到请求的文件
            if (!-e $request_filename) {
                rewrite ^/(.*)  /index.php/$1 last;
            }
		}
    }

配置完之后保存退出,然后平滑重启nginx,命令为:

/usr/local/nginx/sbin/nginx -t

结果显示没问题的话在执行重新载入命令,命令为:

/usr/local/nginx/sbin/nginx -s reload

最后我们可以测试访问了,如果你配置里头使用的是域名,那么直接用域名访问就好了,如果设置的IP,那么就需要用IP然后:端口号来进行访问,效果如下就是创建成功了。如果失败,请检查步骤是否有误,成功如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值