• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Yii2的深入学习-别号(Aliases)

php 搞代码 4年前 (2022-01-24) 13次浏览 已收录 0个评论

Yii2的深入学习–别名(Aliases)

在之前自动加载机制的文章中,我们有提到别名,提到 getAlias 方法,大家当时可能不太清楚,这到底是什么,今天我们就来说一下别名。

别名用来表示文件路径和 URL,这样就避免了将一些文件路径、URL以硬编码的方式写入代码中,或者多处出现一长串的文件路径、URL。

在 Yii2 中,一个别名必须以 @ 字符开头,Yii2 预定义了大量可用的别名,预定义的别名如下:

  • @yii 表示Yii框架所在的目录,也是 BaseYii.php 文件所在的位置
  • @app 表示正在运行的应用的根目录
  • @vendor 表示Composer 第三方库所在目录,一般是 @app/vendor@app/../vendor
  • @bower 表示 Bower 第三方库所在目录,一般是 @vendor/bower
  • @npm 表示 NPM 第三方库所在目录,一般是 @vendor/npm
  • @runtime 表示正在运行的应用的运行时用于存放运行时文件的目录,一般是 @app/runtime
  • @webroot 表示正在运行的应用的入口文件 index.php 所在的目录,一般是 @app/web
  • @web URL别名,表示当前应用的根URL,主要用于前端
  • @common 表示通用文件夹
  • @frontend 表示前台应用所在的文件夹
  • @backend 表示后台应用所在的文件夹
  • @console 表示命令行应用所在的文件夹
  • 其他使用Composer安装的Yii扩展注册的二级别名

其中的 @common @frontend @backend 和 @console 在 baisc 的项目中是不会存在的。在 advanced 的项目中通常是定义在 common\config\bootstrap.php 文件中,其内容如下:

<?<span style="color: #000000">phpYii</span>::setAlias('common', <span style="color: #008080">dirname</span><span style="color: #000000">(__DIR__));Yii</span>::setAlias('frontend', <span style="color: #008080">dirname</span>(<span style="color: #008080">dirname</span>(__DIR__)) . '/frontend'<span style="color: #000000">);Yii</span>::setAlias('backend', <span style="color: #008080">dirname</span>(<span style="color: #008080">dirname</span>(__DIR__)) . '/backend'<span style="color: #000000">);Yii</span>::setAlias('console', <span style="color: #008080">dirname</span>(<span style="color: #008080">dirname</span>(__DIR__)) . '/console');

Yii2 中关于别名的设置和获取的方法都放在 BaseYii 类中本#文来源gaodai$ma#com搞$$代**码网$,其结构基本如下:

<?<span style="color: #000000">php</span><span style="color: #0000ff">class</span><span style="color: #000000"> BaseYii{    </span><span style="color: #008000">/*</span><span style="color: #008000">*     * @var array registered path aliases     * @see getAlias()     * @see setAlias()     * Yii 的路径别名的 Map, 默认 @yii 指向当前目录     </span><span style="color: #008000">*/</span>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #800080">$aliases</span> = [[email protected]' =><span style="color: #000000"> __DIR__];    </span><span style="color: #008000">/*</span><span style="color: #008000">*     * Translates a path alias into an actual path.     * 将别名转化为真实的路径     </span><span style="color: #008000">*/</span>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span> getAlias(<span style="color: #800080">$alias</span>, <span style="color: #800080">$throwException</span> = <span style="color: #0000ff">true</span><span style="color: #000000">)    {        </span>...<span style="color: #000000">    }    </span><span style="color: #008000">/*</span><span style="color: #008000">*     * Registers a path alias.     * 用一个真实的路径注册一个别名     </span><span style="color: #008000">*/</span>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span> setAlias(<span style="color: #800080">$alias</span>, <span style="color: #800080">$path</span><span style="color: #000000">)    {        </span>...<span style="color: #000000">    }}</span>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Yii2的深入学习-别号(Aliases)
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址