Phalcon#系统架构#应用程序结构

在 Phalcon 中应用程序的结构不受约束,你可以定义成你想要的各种结构。最简单的结构如下:

tutorial/ 
  app/ 
    controllers/ 
    models/ 
    views/ 
  public/ 
    css/ 
    img/ 
    js/
    index.php

controllersmodelsviews 目录位置都可以自定义。

use Phalcon\Loader;

// ...

// 载入 controllers、models 目录
$loader = new Loader();
$loader->registerDirs([ 
    "../app/controllers/", 
    "../app/models/", 
    // 加入自定义的目录
]);
$loader->register();
use Phalcon\Mvc\View;

// ...

// 注册视图模块
$di->set( 
    "view", 
    function () { 
        $view = new View(); 
        $view->setViewsDir("../app/views/");  // 设置视图目录
        return $view; 
    }
);

项目开发时会用到更多的功能,这时候目录就多一些。如:

tutorial/
  app/
    console/        // 命令行    
    controllers/    // 控制器
    models/         // 模型
    views/          // 视图,如果是服务端或 API 则不需要 views 目录
  bootstrap/        // 启动目录
  config/           // 配置文件
  library/          // 项目公共类
  public/           // 入口
    index.php
  resources/        // 资源文件
    lang/
      zh-cn/
  storage/          // 存储文件,缓存或日志等
    cache/
    logs/
  vendor/           // 第三方库
    composer/       // composer 包管理文件
    xxx/
    autoload.php

上面这个目录结构可以适用大多数单一应用了,具体可以根据自己的需要删减和调整。Phalcon 给于用户很大的灵活性,不仅目录可以定义,所有使用到的服务都可以继承或覆盖重写。

你可能感兴趣的:(Phalcon#系统架构#应用程序结构)