Thinkphp5.1获取项目根目录以及子目录路径的方法实例讲解

导读:

最近使用Thinkphp5.1做开发,在使用LOG_PATH常量(日志路径)时发生报错,因为之前一直使用5.0的框架,换到5.1版本后,出现这种情况,很明白是官方做了调整,所以特地去看了官方说明。

官方文档:https://www.kancloud.cn/manual/thinkphp5_1/

常量调整

Thinkphp5.1取消了所有的框架内置常量(不影响应用代码中的自定义常量),如需获取,请使用think\facade\App类的内置方法以及think\facade\Env类获取。

5.0常量 5.1获取方法
EXT 取消,固定使用 .php
IS_WIN 取消
IS_CLI 取消
DS 使用PHP自带 DIRECTORY_SEPARATOR
ENV_PREFIX 取消,固定使用PHP_
THINK_START_TIME App::getBeginTime()
THINK_START_MEM App::getBeginMem()
THINK_VERSION App::version()
THINK_PATH Env::get(‘think_path')
LIB_PATH Env::get(‘think_path') . ‘library/'
CORE_PATH Env::get(‘think_path') . ‘library/think/'
APP_PATH Env::get(‘app_path')
CONFIG_PATH Env::get(‘config_path')
CONFIG_EXT App::getConfigExt()
ROOT_PATH Env::get(‘root_path')
EXTEND_PATH Env::get(‘root_path') . ‘extend/'
VENDOR_PATH Env::get(‘root_path') . ‘vendor/'
RUNTIME_PATH Env::get(‘runtime_path')
LOG_PATH Env::get(‘runtime_path') . ‘log/'
CACHE_PATH Env::get(‘runtime_path') . ‘cache/'
TEMP_PATH Env::get(‘runtime_path'). ‘temp/'
MODULE_PATH Env::get(‘module_path')

说明:通过Env类的get方法获取路径变量的时候不区分大小写。

Thinkphp5.1打印独立日志的方法:

/**
 * 打印日志
 * $msg 日志内容
 */
function printLog($msg) {
	$path=LOG_PATH .date('Y-m-d').".txt";
	file_put_contents($path, "【" . date('Y-m-d H:i:s') . "】\r\n" . $msg . "\r\n\r\n", FILE_APPEND);
}

到此这篇关于Thinkphp5.1获取项目根目录以及子目录路径的方法实例讲解的文章就介绍到这了,更多相关Thinkphp5.1获取项目根目录以及子目录路径的方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Thinkphp5.0自动生成模块及目录的方法详解

    本文实例讲述了Thinkphp5.0自动生成模块及目录的方法.分享给大家供大家参考,具体如下: Thinkphp5.0发布已有些时日了,据说性能方面有很大的提升,按照官方的话,ThinkPHP5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,并针对API开发做了大量的优化.是时候得download一份,研究一下.今天主要讲讲其自动创建模块及目录. Thinkphp5.0自动生成模块较ThinkPHP3.2,确实有很大的变化

  • thinkphp5修改view到根目录实例方法

    利用PHP中的thinkphp5进行项目开发,将view一道项目跟目录下 进入到/www/wwwroot/xxxx/application/config.php修改模板设置 进入模板方法 public function planLists(){    return view('/pxxxsts');} 扩展知识点: thinkphp默认的View都是在/Application各个模块下的: css.js之类的资源文件是放在/Public目录下: 大致是这个样子的: thinkphp ├─Appl

  • Thinkphp5.1获取项目根目录以及子目录路径的方法实例讲解

    导读: 最近使用Thinkphp5.1做开发,在使用LOG_PATH常量(日志路径)时发生报错,因为之前一直使用5.0的框架,换到5.1版本后,出现这种情况,很明白是官方做了调整,所以特地去看了官方说明. 官方文档:https://www.kancloud.cn/manual/thinkphp5_1/ 常量调整 Thinkphp5.1取消了所有的框架内置常量(不影响应用代码中的自定义常量),如需获取,请使用think\facade\App类的内置方法以及think\facade\Env类获取.

  • 利用Node.js获取项目根目录的小技巧

    假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中. 实现功能 如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件. 实现方法 在node.js只提供了一个 dirname全局变量.通过 dirname可以获得"C:\wwwroot\yidata\server".这时需要用到path. 首先 import path from 'path'; (ES6)或var path = require (

  • asp.net编程获取项目根目录实现方法集合

    本文实例总结了asp.net编程获取项目根目录实现方法.分享给大家供大家参考,具体如下: 编写程序的时候,经常需要用的项目根目录.自己总结如下 1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 方法2.AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集 2.取得Web应用程序的根目录方法 方法1.HttpRuntime.AppDoma

  • 如何在SpringBoot+Freemarker中获取项目根目录

    目录 在Freemarker中获取项目根目录 Freemark模板引擎路径的几种设置方法 在SpringMVC中我们想返回视图是怎么做的 在SpringBoot中springboot不推荐我们使用jsp模板 那么如果我们如何自定义freemark的模板引擎路径呢 在Freemarker中获取项目根目录 好多人 都说: 在配置文件中加入 spring.freemarker.request-context-attribute=request 在页面就可以 <#assign ctx=request.c

  • C#获取项目指定目录下文件的方法

    本文实例讲述了C#获取项目指定目录下文件的方法.分享给大家供大家参考.具体如下: public List<FileInfo> GetFiles() { string path = string.Concat(System.AppDomain.CurrentDomain.BaseDirectory,"Files\\"); //获取项目物理路径 string[] fileType=new string[]{"pdf\\","pps\\",

  • 实现Android 获取cache缓存的目录路径的方法

    实现Android 获取cache缓存的目录路径的方法 Android开发中,有时需要知道cache缓存的路径.我写了一个静态类,供大家能参考 public class CommonUtil { /** * 获取cache路径 * * @param context * @return */ public static String getDiskCachePath(Context context) { if (Environment.MEDIA_MOUNTED.equals(Environmen

  • vite项目添加eslint prettier及husky方法实例

    目录 1. 初始化vite项目 2. 添加eslint 3. 添加 prettier 4. 添加 husky和lint-staged 5. 配置commitlint 1. 初始化vite项目 npm init vite Project name: - vite-project // 项目名称,默认 vite-project Select a framework: › react // 选择框架 Select a variant: › react-ts // 选择组合 2. 添加eslint 安装

  • mui开发中获取单选按钮、复选框的值(实例讲解)

    js获取单选按钮的值 function getVals(){ var res = getRadioRes('rds'); if(res == null){mui.toast('请选择'); return;} mui.toast(res); } function getRadioRes(className){ var rdsObj = document.getElementsByClassName(className); var checkVal = null; for(i = 0; i < rd

  • C#中Winform获取文件路径的方法实例小结

    本文实例讲述了C#中Winform获取文件路径的方法.分享给大家供大家参考.具体如下: 获取文件名方法: 用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法 获取文件路径方法: //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe //(.exe

  • JS获取url参数、主域名的方法实例分析

    本文实例讲述了JS获取url参数.主域名的方法.分享给大家供大家参考,具体如下: <script> alert(location.hostname) alert(location.port) alert(location.pathname) alert(location.search) </script> <script> function winsx(url) //URL传递的参数 { var winurl =url?url:(unescape(window.loca

随机推荐