Yaf框架的使用

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

https://blog.csdn.net/weixin_42579642/article/details/85067172

在安装完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中添加如下内容:

扫描二维码关注公众号,回复: 4624342 查看本文章
[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;
 
        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然后:端口号来进行访问,效果如下就是创建成功了。如果失败,请检查步骤是否有误,成功如下图:

注意:如果粘贴代码有可能空格会出问题,建议把空格重新打一下!

猜你喜欢

转载自blog.csdn.net/weixin_42579642/article/details/85067381
今日推荐