首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在yii2高级应用程序中获取根目录

在yii2高级应用程序中获取根目录
EN

Stack Overflow用户
提问于 2015-08-13 11:31:13
回答 2查看 6.1K关注 0票数 1

我想在yii2高级应用程序中获得我的项目的根目录。

我的Url如下所示

代码语言:javascript
复制
http://localhost:83/Working-copy/mySite/backend/web/index.php

我用过

代码语言:javascript
复制
Yii::setAlias('@anyname', realpath(dirname(__FILE__).'/../../'));

 echo Yii::getAlias('@anyname');

但它给了我

代码语言:javascript
复制
/var/www/Working-copy/mySite

我用过

代码语言:javascript
复制
Yii::$app->request->BaseUrl

但它也给了

代码语言:javascript
复制
/Working-copy/mySite/backend/web

我只想

代码语言:javascript
复制
/Working-copy/mySite

有什么帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-19 10:12:45

这是我的解决办法。

  1. 将组件创建到公用文件夹中。
  2. 添加Request.php 名称空间公共\组件;类请求扩展\yii\web\请求{公共$web;公共$adminUrl;公共函数getBaseUrl(){返回str_replace($this->web,“,父函数::getBaseUrl())。$this->adminUrl;}公共函数getActualBaseUrl(){返回str_replace($this->web,"",父函数:getBaseUrl());}公共函数resolvePathInfo(){ if($this->getUrl() === $this->adminUrl){ str_replace“;}==={返回父函数::解析路径信息();}
  3. 使用Yii::$app->request->getActualBaseUrl(). // this gives me /Working-copy/mySite
票数 1
EN

Stack Overflow用户

发布于 2015-08-14 08:16:45

您有两个应用程序,后端和前端,每个应用程序都有不同的BaseURL。路径/Working-copy/mySite --它不是任何应用程序的BaseURL。但是,如果设置了等值线,则可以得到这个值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31986983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档