- Yii 教程
- Yii - 首页
- Yii - 概述
- Yii - 安装
- Yii - 创建页面
- Yii - 应用结构
- Yii - 入口脚本
- Yii - 控制器
- Yii - 使用控制器
- Yii - 使用操作
- Yii - 模型
- Yii - 小部件
- Yii - 模块
- Yii - 视图
- Yii - 布局
- Yii - 资源
- Yii - 资源转换
- Yii - 扩展
- Yii - 创建扩展
- Yii - HTTP 请求
- Yii - 响应
- Yii - URL 格式
- Yii - URL 路由
- Yii - URL 规则
- Yii - HTML 表单
- Yii - 验证
- Yii - 特设验证
- Yii - AJAX 验证
- Yii - 会话
- Yii - 使用闪存数据
- Yii - Cookie
- Yii - 使用 Cookie
- Yii - 文件上传
- Yii - 格式化
- Yii - 分页
- Yii - 排序
- Yii - 属性
- Yii - 数据提供者
- Yii - 数据小部件
- Yii - ListView 小部件
- Yii - GridView 小部件
- Yii - 事件
- Yii - 创建事件
- Yii - 行为
- Yii - 创建行为
- Yii - 配置
- Yii - 依赖注入
- Yii - 数据库访问
- Yii - 数据访问对象
- Yii - 查询构建器
- Yii - 活动记录
- Yii - 数据库迁移
- Yii - 主题
- Yii - RESTful API
- Yii - RESTful API 实践
- Yii - 字段
- Yii - 测试
- Yii - 缓存
- Yii - 片段缓存
- Yii - 别名
- Yii - 日志记录
- Yii - 错误处理
- Yii - 身份验证
- Yii - 授权
- Yii - 本地化
- Yii - Gii
- Gii – 创建模型
- Gii – 生成控制器
- Gii – 生成模块
- Yii 有用资源
- Yii - 快速指南
- Yii - 有用资源
- Yii - 讨论
Yii - 别名
别名可以帮助您避免在项目中硬编码绝对路径或 URL。别名以 @ 字符开头。
要定义别名,您应该调用 Yii::setAlias() 方法 -
// an alias of a file path Yii::setAlias('@alias', '/path/to/alias'); // an alias of a URL Yii::setAlias('@urlAlias', 'http://www.google.com');
您还可以从现有别名派生一个新别名 -
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
您可以在入口脚本或应用程序配置中名为 aliases 的可写属性中调用 Yii::setAlias() 方法 -
$config = [ 'id' => 'basic', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'components' => [ 'aliases' => [ '@alias' => '/path/to/somewhere', '@urlAlias' => 'http://www.google.com', ], //other components... ] ]
要解析别名,您应该调用 Yii::getAlias() 方法。
Yii 预定义了以下别名 -
@app - 应用程序的基本路径。
@yii - BaseYii.php 文件所在的文件夹。
@webroot - 应用程序的 Web 根目录。
@web - 应用程序的基本 URL。
@runtime - 应用程序的运行时路径。默认为 @app/runtime。
@vendor - Composer 供应商目录。默认为 @app/vendor。
@npm - npm 包的根目录。默认为 @vendor/npm。
@bower - bower 包的根目录。默认为 @vendor/bower。
现在,向 SiteController 添加一个名为 actionAliases() 的新函数 -
public function actionAliases() { Yii::setAlias("@components", "@app/components"); Yii::setAlias("@imagesUrl", "@web/images"); var_dump(Yii::getAlias("@components")); var_dump(Yii::getAlias("@imagesUrl")); }
在上面的代码中,我们创建了两个别名:@components 用于应用程序组件,@imagesUrl 用于存储所有应用程序图像的 URL。
输入 https://127.0.0.1:8080/index.php?r=site/aliases,您将看到以下输出 -
广告