一、应用场景:

当需要引入第三方路径,而通过传统的’./’或者’../’无法准确定位的时候,我们需要能直接获取项目所在网站的根目录,然后根据根目录找到我们需要引入的第三方包。

二、例子

首先声明,博主用的是laravel5.2版本

  $url1 = base_path();$url2 = app_path();$url3 = public_path();$url4 = config_path();$url5 = storage_path();//$url6 = database_path();echo $url1.'<br>';echo $url2.'<br>';echo $url3.'<br>';echo $url4.'<br>';echo $url5.'<br>';// dd($url6);

以上就是laravel自带的一些内置路径函数。这里有个database_path(),我在框架中没打印出来,但是在其他版本的laravel中就打印出来了,很奇怪。
以下是打印结果:

//本地的根目录就在D:\phpStudy\WWW下
D:\phpStudy\WWW\pzapp
D:\phpStudy\WWW\pzapp\app
D:\phpStudy\WWW\pzapp\public
D:\phpStudy\WWW\pzapp\config
D:\phpStudy\WWW\pzapp\storage

这样对比下来就一目了然了

三、解释

app_path()
app_path函数返回app目录的绝对路径:
path=apppath();你还可以使用apppath函数为相对于app目录的给定文件生成绝对路径:path = app_path(); 你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径: path = app_path(‘Http/Controllers/Controller.php’);
base_path()
base_path函数返回项目根目录的绝对路径:
path=basepath();你还可以使用basepath函数为相对于应用目录的给定文件生成绝对路径:path = base_path(); 你还可以使用base_path函数为相对于应用目录的给定文件生成绝对路径: path = base_path(‘vendor/bin’);
config_path()
config_path函数返回应用配置目录的绝对路径:
path=configpath();databasepath()databasepath函数返回应用数据库目录的绝对路径:path = config_path(); database_path() database_path函数返回应用数据库目录的绝对路径: path = database_path();
public_path()
public_path函数返回public目录的绝对路径:
path=publicpath();storagepath()storagepath函数返回storage目录的绝对路径:path = public_path(); storage_path() storage_path函数返回storage目录的绝对路径: path = storage_path();
还可以使用storage_path函数生成相对于storage目录的给定文件的绝对路径:
$path = storage_path(‘app/file.txt’);

laravel关于内置路径函数的源码位置:

大家可以自己去源码部分看一看

四、我应用到这些函数的地方

require_once(base_path() . '/app/Helpers/Oss/autoload.php');

这边是引用阿里对象存储OSS的部分。先用base_path()获取项目的根目录,然后拼接之后的路径’/app/Helpers/Oss/autoload.php’部分。这样就成功的把文件引进来了。

end

laravel框架内置的各种路径帮助函数相关推荐

  1. 关于Windows 10内置应用卸载路径

    普通内置应用安装路径: C:\Program Files\WindowsApps C:\Program Files\WindowsApps\DeletedAllUserPackages C:\User ...

  2. 未捕获的错误:始终违反:元素类型无效:预期为字符串(对于内置组件)或类/函数,但得到了:对象

    本文翻译自:Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in ...

  3. 访问tomcat服务器文件路径,外置tomcat映射服务器路径以及springboot内置tomcat映射路径配置...

    外置tomcat映射路径 在tomcat里的conf下的server.xml里Host标签下加入 其中的docBase就是磁盘映射路径,path为访问路径,比如localhost:8080/repor ...

  4. mysql5720_Mysql内置功能《五》 函数

    一 函数 MySQL中提供了许多内置函数,例如: 一.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND( ...

  5. php辅助框架,【PHP开发框架】Laravel框架中辅助函数:optional ()函数的介绍

    laravel框架中的辅助函数有很多,那么,在 Laravel 新版本中又有什么非常好用的辅助函数呢?接下来的这篇文章中,ki4网将给大家介绍一个非常有用的辅助方法:optional()函数,这个函数 ...

  6. config userc.php,框架内置Config.php配置

    # Config.php 参数 可能文档未来得及更新 部分配置参数 ## 基础配置 | 配置项 | 说明 | 可否修改 | | --- | --- |--- | | var_left_tpl | { ...

  7. 自学笔记——Python内置的处理字符串的函数

    序号 函数描述 1 capitalize() 字符串的首字母变为大写 2 center(width, fillchar) 返回原来的字符串(居中),并以空格填充至特定长度的字符串 3 count( s ...

  8. JavaScript内置对象→对象、系统函数、Date日期对象、String字符串对象、Math对象、Number数字对象、Object对象、Boolean对象、Error对象

    对象 系统函数 Date日期对象 String字符串对象 Math对象 Number数字对象 Object对象 Boolean对象 Error对象

  9. android内置sd卡挂载过程,Android获取机身存储、内置SD卡与外置TF卡路径

    获取机身存储路径(可以通过openFileInput,openFileOutput进行操作) String path=Environment.getDataDirectory().getAbsolut ...

最新文章

  1. ATS上的hosting.config和volume.config文件解读
  2. 玩转不同业务场景,这些RabbitMQ特性会是得力助攻
  3. ViSP视觉库中实现AprilTag的方法
  4. 数据库中插入英文数字正常,插入中文错误解决方案
  5. Python黑科技:在家远程遥控公司电脑,python+微信一键连接!
  6. MX250和第三方Linux版区别,MX250和MX350哪个好一点,区别和差距在哪里?求推荐?_科技数码通...
  7. 提交显示成功但是没有看到文件_如何向RTThread提交一个BSP?
  8. 使用yolov5训练自己的目标检测数据集
  9. jsp中el表达式创建一个list
  10. Python项目实践:天天向上的力量
  11. scala中命名参数函数_Scala中的命名参数和默认参数值
  12. 如何使用以太网将 Mac 接入互联网?
  13. 安装了最新版本的java 用友nc打不开_NC无法安装客户端插件,不能进入用友NC系统登陆界面...
  14. cad添加自己线性_如何在CAD中添加自行创建的线型.doc
  15. C语言学习——编程软件安装和使用
  16. android tabhost用法详解,android Tabhost部件详解
  17. tp 数据库查询排序_ThinkPHP对查询的数据随机排序
  18. 曾维沛全网营销推广如何做?微商精准引流,让客户主动找上门
  19. python 下载图片 写硬盘 慢_天啦噜!知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍...
  20. 工程师的终极灵魂拷问: 谷歌和FB的offer, 应该怎么选?

热门文章

  1. linux防火墙添加端口并开闭防火墙
  2. python查看环境路径
  3. 目前最快的360°全景VR摄影方法
  4. vs的资源管理器中一次性添加整个文件夹
  5. “tensorFromBlob”: 不是“at::DeprecatedTypeProperties”的成员
  6. flask 注册路由和蓝图
  7. 双边滤波--OpenCV实现
  8. 二、MySql优化七个查询命令特征
  9. 纸牌游戏10点半c语言,python10点半纸牌游戏_【Python】Python编的纸牌游戏
  10. linux如何右键新建文件夹,在Ubuntu 18.04右键菜单中增加新文档(New Document)及其他类型选项...