[入口文件]

[传统 web 入口文件]

web项目入口文件为public/index.php ThinkCMF6.0 采用单一入口文件模式,所以部署项目时请把项目根目录设置到 public 目录;入口文件主要完成一些常量,和路径配置,大致代码如下

  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2013-present http://www.thinkcmf.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: 老猫 <zxxjjforever@163.com>
  8. // +----------------------------------------------------------------------
  9. // [ 应用入口文件 ]
  10. namespace think;
  11. // 调试模式开关 已经移到.env文件中,APP_DEBUG = true
  12. //define('APP_DEBUG', true);
  13. // 定义CMF根目录,可更改此目录
  14. define('CMF_ROOT', dirname(__DIR__) . '/');
  15. // 定义CMF数据目录,可更改此目录
  16. define('CMF_DATA', CMF_ROOT . 'data/');
  17. // 定义应用目录
  18. define('APP_PATH', CMF_ROOT . 'app/');
  19. // 定义网站入口目录
  20. define('WEB_ROOT', __DIR__ . '/');
  21. require CMF_ROOT . 'vendor/autoload.php';
  22. // 执行HTTP应用并响应
  23. $http = (new App())->http;
  24. $response = $http->run();
  25. $response->send();
  26. $http->end($response);

[RESTful API入口文件]

RESTful API入口文件 为public/api.php

  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2013-present http://www.thinkcmf.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: 老猫 <zxxjjforever@163.com>
  8. // +----------------------------------------------------------------------
  9. // [ 应用入口文件 ]
  10. namespace think;
  11. // 调试模式开关 已经移到.env文件中,APP_DEBUG = true
  12. //define('APP_DEBUG', true);
  13. // 定义CMF根目录,可更改此目录
  14. define('CMF_ROOT', dirname(__DIR__) . '/');
  15. // 定义CMF数据目录,可更改此目录
  16. define('CMF_DATA', CMF_ROOT . 'data/');
  17. // 定义应用目录
  18. define('APP_PATH', CMF_ROOT . 'app/');
  19. // 定义网站入口目录
  20. define('WEB_ROOT', __DIR__ . '/');
  21. // 定义命名空间
  22. define('APP_NAMESPACE', 'api');
  23. require CMF_ROOT . 'vendor/autoload.php';
  24. // 执行HTTP应用并响应
  25. $http = (new App())->http;
  26. $response = $http->run();
  27. $response->send();
  28. $http->end($response);

[命令行入口文件]

命令行入口文件为程序根目录的think文件

  1. #!/usr/bin/env php
  2. <?php
  3. // +----------------------------------------------------------------------
  4. // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
  5. // +----------------------------------------------------------------------
  6. // | Copyright (c) 2013-present http://www.thinkcmf.com All rights reserved.
  7. // +----------------------------------------------------------------------
  8. // | Author: 老猫 <zxxjjforever@163.com>
  9. // +----------------------------------------------------------------------
  10. namespace think;
  11. // 命令行入口文件
  12. // 调试模式开关 已经移到.env文件中,APP_DEBUG = true
  13. //define('APP_DEBUG', true);
  14. // 定义CMF根目录,可更改此目录
  15. define('CMF_ROOT', __DIR__ . '/');
  16. // 定义CMF数据目录,可更改此目录
  17. define('CMF_DATA', CMF_ROOT . 'data/');
  18. // 定义应用目录
  19. define('APP_PATH', CMF_ROOT . 'app/');
  20. // 定义网站入口目录
  21. define('WEB_ROOT', __DIR__ . '/public/');
  22. // 定义缓存目录
  23. define('RUNTIME_PATH', CMF_ROOT . 'data/runtime_cli/');
  24. // 加载基础文件
  25. require __DIR__ . '/vendor/autoload.php';
  26. // 应用初始化
  27. (new App())->console->run();