創(chuàng)建 yaf 項(xiàng)目目錄及文件(windows)

yaf 項(xiàng)目目錄結(jié)構(gòu)

+ public
  |- index.php // 入口文件
  |- .htaccess // 重寫規(guī)則
  |- composer.json // composer 配置文件
  |+ static
     |- css
     |- img
     |- js
+ conf
  |- application.ini // 項(xiàng)目配置文件   
+ application
  |+ controllers
     |- Index.php // 默認(rèn)控制器
  |+ views    
     |+ index   // 控制器
        |- index.phtml // 默認(rèn)視圖
  |+ modules // 其他模塊
  |+ library // 本地類庫
  |+ models  // model目錄
  |+ plugins // 插件目錄

入口文件:public/index.php

<?php
// 定義項(xiàng)目根目錄:public 目錄的上一級(jí)目錄
define("APP_PATH",  realpath(dirname(__FILE__).'/../'));

$app = new Yaf_Application(APP_PATH."/conf/application.ini");
$app->bootstrap()->run();

apache 重寫規(guī)則文件:public/.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

apache 虛擬主機(jī)配置

  • 項(xiàng)目根目錄路徑為:E:/Project/hyso/yaf,Directory 配置項(xiàng)為項(xiàng)目根目錄下的 public 目錄(index.php 文件所在目錄)
  • 虛擬主機(jī)域名:local-yaf.bmtrip.com,本地 hosts 文件相應(yīng)加上此域名的配置
<VirtualHost *:8080>
    ServerAdmin tobehyso@163.com
    DocumentRoot "E:/Project/hyso/yaf/public"
    ServerName local-yaf.bmtrip.com
    <Directory "E:/Project/hyso/yaf/public">  
        Options FollowSymLinks Includes ExecCGI
        AllowOverride All 
        Require all granted  
    </Directory>  
    ErrorLog "logs/local-yaf.bmtrip.com-error.log"
    CustomLog "logs/local-yaf.bmtrip.com-access.log" common
</VirtualHost>

composer 配置文件:public/composer.json

{
    "config": {
        "vendor-dir": "../vendor"
    }
}

處理 composer 依賴關(guān)系

運(yùn)行命令行窗口,切換到項(xiàng)目根目錄,執(zhí)行以下命令:

composer install

默認(rèn)控制器文件:application/controllers/Index.php

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

   /**
    * test Action
    * 
    */
   public function testAction()
   {
       $this->getView()->assign("content", "test");

       $this->getView()->display('index/index.phtml');

       return false;
   }
}

項(xiàng)目配置文件:conf/application.ini

[common]
application.directory = APP_PATH "/application/" 
application.bootstrap = APP_PATH "/application/Bootstrap.php" 

[product:common]

Bootstrap 文件:application/Bootstrap.php

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract
{

    public function _initConfig()
    {
        $config = Yaf_Application::app()->getConfig();

        Yaf_Registry::set("config", $config);
    }

    public function _initDefaultUrl(Yaf_Dispatcher $dispatcher)
    {
        $dispatcher
        ->setDefaultModule("Index")
        ->setDefaultController("Index")
        ->setDefaultAction("test");
    }

    public function _initAutoload()
    {
        require '../vendor/autoload.php';
    }
}

默認(rèn)視圖文件:application/views/index/index.phtml

  • 視圖文件目錄:application/views
  • 默認(rèn)控制器視圖文件目錄(目錄名與控制器文件名保持一致):application/views/index
<html>
    <head>
        <title>Hello World</title>
    </head>
    <body>
        <?php echo $content;?>
    </body>
</html>

瀏覽器中訪問控制器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • # 一、框架概述 # 課程概述 1. laravel 4天(之前TP框架還是很大的區(qū)別)(國外框架) 2. 在線教...
    關(guān)進(jìn)一閱讀 483評(píng)論 0 0
  • 快速開始 典型的目錄結(jié)構(gòu) 入口文件 所有請(qǐng)求的入口, 一般都借助于rewrite規(guī)則, 把所有的請(qǐng)求都重定向到這個(gè)...
    零一間閱讀 3,936評(píng)論 0 8
  • 一、框架概述 課程概述 laravel 4天(之前TP框架還是很大的區(qū)別)(國外框架) 在線教育平臺(tái) 6天(lar...
    大大的世界小小的夢想_97ef閱讀 1,392評(píng)論 0 2
  • 1. 一、框架概述 2. 課程概述 laravel 4天(之前TP框架還是很大的區(qū)別)(國外框架) 在線教育平臺(tái) ...
    jim1999閱讀 374評(píng)論 0 0
  • 一 : ThinkPHP配置前準(zhǔn)備: 配置前需要安裝PHP5.4.0以上版本ThinkPHP5.0完全開發(fā)手冊 1...
    樹懶啊樹懶閱讀 16,945評(píng)論 1 2

友情鏈接更多精彩內(nèi)容