现在,我们将在您的应用程序中创建一个“ Hello world”页面。要创建页面,我们必须创建一个动作和一个视图。
在控制器中声明动作。最终用户将收到动作的执行结果。
步骤1-在现有的SiteController中声明语音操作,该操作在类文件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]); } } ?>
我们将语音动作定义为一种名为actionSpeak的方法。在Yii中,所有操作方法均以“操作”一词作为前缀。这就是框架如何区分行动方法与非行动方法的方式。如果一个动作ID需要多个单词,那么它们将由短划线连接起来。因此,动作ID添加后与动作方法actionAddPost相对应。
在上面给出的代码中,“ out”函数采用GET参数$ message。我们还调用了一个名为“ render”的方法来渲染名为“ speak ”的视图文件。我们将message参数传递给视图。渲染结果是一个完整的HTML页面。
视图是生成响应内容的脚本。对于语音操作,我们创建一个语音视图以打印我们的消息。调用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浏览器中输入以下内容http:// localhost:8080 / index.php?r = site / speak&message = hello%20world。
您将看到以下窗口:
URL中的“ r”参数代表路由。路由的默认格式为controllerID / actionID。在我们的例子中,路由站点/语音将由SiteController类和语音操作来解决。
作者:terry,如若转载,请注明出处:https://www.web176.com/yii/607.html