- 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 - 创建页面
现在我们将创建一个“Hello world”页面到您的应用程序中。要创建页面,我们必须创建一个操作和一个视图。
操作在控制器中声明。最终用户将收到操作的执行结果。
步骤 1 − 在现有的SiteController中声明speak操作,它在类文件controllers/SiteController.php中定义。
<?php namespace app\controllers; use Yii; use yii\filters\AccessControl; use yii\web\Controller; use yii\filters\VerbFilter; use app\models\LoginForm; use app\models\ContactForm; class SiteController extends Controller { /* other code */ public function actionSpeak($message = "default message") { return $this->render("speak",['message' => $message]); } } ?>
我们将speak操作定义为一个名为actionSpeak的方法。在Yii中,所有操作方法都以action开头。这就是框架区分操作方法和非操作方法的方式。如果操作ID需要多个单词,则它们将用短划线连接。因此,操作ID add-post对应于操作方法actionAddPost。
在上面给出的代码中,‘out’函数获取一个GET参数$message。我们还调用一个名为‘render’的方法来渲染名为speak的视图文件。我们将message参数传递给视图。渲染结果是一个完整的HTML页面。
视图是一个生成响应内容的脚本。对于speak操作,我们创建一个打印我们消息的speak视图。当调用render方法时,它会查找名为view/controllerID/vewName.php的PHP文件。
步骤 2 − 因此,在views/site文件夹内创建一个名为speak.php的文件,内容如下。
<?php use yii\helpers\Html; ?> <?php echo Html::encode($message); ?>
请注意,我们在打印之前对message参数进行了HTML编码,以避免XSS攻击。
步骤 3 − 在您的Web浏览器中输入https://127.0.0.1:8080/index.php?r=site/speak&message=hello%20world。
您将看到以下窗口:
URL中的‘r’参数代表路由。路由的默认格式是controllerID/actionID。在我们的例子中,路由site/speak将由SiteController类和speak操作解析。