yaf框架学习(2)使用命名空间

开启命名空间

默认yaf没有开启该功能,需要在php.ini中添加:

yaf.use_namespace=1

use_namespace默认没有开启,在开启的情况下, Yaf将会使用命名空间方式注册自己的类, 比如Yaf_Application将会变成Yaf\Application

生成基础框架代码

使用yaf_cg工具生成基础框架代码

cd YAF_PATH/tools/cg/
./yaf_cg web output/web n

说明:
第一个参数web代表项目的名称,第二个参数output/web代表代码生成的目录,第三个参数n表示使用命名空间

生成后,将output目录下的web文件夹拷贝至网站目录就可以访问了。

修改视图文件后缀

打开conf/application.ini文件,在最后添加:

application.view.ext = php

原本默认的后缀是phtml,但使用phpsotrm在里面写php代码时,没有提示。改成php后对于phpstorm之类的编辑器更友好。

更多配置项参考:http://www.laruence.com/manual/yaf.config.optional.html

调整目录结构

一般入口文件index.php放在public目录,这样在创建网站时,直接将网站根目录指向到public文件夹就可以了,这样更安全。
1.在项目根目录新建public文件夹,与applicationconf位于同一级目录。
2.把index.php.htaccess这两个文件移动到public文件夹中。
3.将application文件夹重命名为app,这样更简短。
4.将conf/application.ini文件重命名为app.ini

修改后的目录结构如下图所示:

修改public/index.php,将内容改成如下的代码:

<?php
define('ENVIRONMENT', 'develop');  //生成环境请修改为product
define('WEB_PATH', dirname(__FILE__));
define('ROOT_PATH', WEB_PATH.'/../');
define('CONF_PATH', ROOT_PATH . 'conf/app.ini');

switch (ENVIRONMENT) {
    case 'develop':
        error_reporting(E_ERROR);
        ini_set('display_errors', 1);
        ini_set('yaf.environ', 'develop');
        break;
    case 'product':
        ini_set('display_errors', 0);
        break;
    default:
        header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
        echo 'The application environment is not set correctly.';
        exit(1); // EXIT_ERROR
}
$app = new Yaf\Application( CONF_PATH);
$app->bootstrap()->run();
?>

修改conf/app.ini文件,内容如下:

[common]
application.directory = ROOT_PATH  "/app"
application.dispatcher.catchException = TRUE

;视图模板扩展名
application.view.ext = php

[product : common]

注意:视图模板扩展名默认是phtml,改成php后,需要将app/views目录下的模板文件后缀都改成php

现在输入域名/public就可以访问了

发表评论

邮箱地址不会被公开。 必填项已用*标注