PHP笔记——Yii2学习笔记2(创建自己的页面)

本文介绍了如何配置Yii2开发环境,包括apache、php和mysql的搭建,以及网页开发基础知识。然后详细阐述了如何部署yii2框架,使用Gii生成Controller和视图文件,创建登录页面并取消默认布局。最后讨论了如何设置默认路由,确保启动时直接跳转至自定义页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在学习Yii2开发,先应当知晓一些基础的环境安装的东西,如apache,php,mysql等,还有一些网页开发的基础常识,如html,js,css,这些东西的基本概念和常规应用,都是必不可少的,另外常用的前端框架,如jquery,bootstrap等,也是需要初步了解的,当然很多的东西的深入了解,这个可以在以后的学习过程中,逐步深入研究。

一、确认环境,以及部署yii2框架

       这里,我们确认已经成功部署了开发环境,我这里以xampp7.4的版本作为开发环境,内部集成了apache2.4,php7.4,mysql。yii2框架采用当前最新的2.0.43-basic版,yii2的框架源码可以去yii的中文网站(yiichina.com)下载,海外的正式网站速度比较慢,国内的中文网快多了。

        下载了yii2-basic版,放在apache的网站目录下,启动apache,我们来访问web目录下的index.php文件,如下图,表示成功yii2框架部署好了。

 我们在url链接中,补上参数r=gii,即 http://XXXX/web/index.php?r=gii,进入脚手架,通过脚手架,我们可以快速的创建各类文件。

到这一步,可以说,环境部署算是完成了。

二、通过脚手架,创建自己的类文件

下一步,我们需要创建自己的页面,创建常规的交互页面,我们首先从controller类开始。通过脚手架,选择Controller Generator,我们计划创建一个登陆的页面,所以类名就是Login了,因为要符合yii2的一系列命名标准和规范,相关输入如下

 执行步骤1按钮,会出现将要生成文件的目录路径,这个时候,可以通过底色判断是否存在同名文件,以及是否覆盖,取消勾选,表示下一步执行的时候,跳过这个文件。

执行步骤2按钮,将会在对应的目录路径中创建,或覆盖已勾选的文件。执行成功,如下图

        下一步,我们就可以来访问我们创建的类了,在浏览器中输入,修改路由指向,即r=login,这里简单说明一下,yii2框架是单入口框架,即存在单一访问入口的页面,其余页面都是通过这个页面的参数配置来跳转的。 而在yii2中,参数r就是路由参数,后面可以直接跟类名,更多原理性的说明,可以去yii2的中文网站看文档说明,这里重点介绍如何操作,出结果。

访问链接:http://localhost/yii2_study/web/index.php?r=login

 到这里,可以简单地说,已经成功创建自己的页面了,不过,对照了新建的类文件LoginController.php,和视图文件index.php的源码。

<?php

namespace app\controllers;

class LoginController extends \yii\web\Controller
{
    public function actionIndex()
    {
        return $this->render('index');
    }

}
<?php
/* @var $this yii\web\View */
?>
<h1>login/index</h1>

<p>
    You may change the content of this page by modifying
    the file <code><?= __FILE__; ?></code>.
</p>

对比一下源码和页面效果,发现好像多了不少源码外的东西,这是因为应用了默认布局文件。在web目录下有个layouts的目录,下面有个mian.php的文件,其中包含的就是多出来的那部分内容。

三、取消默认布局

如何修改布局文件,可以参考 Yii2 选择布局的方式 - 教程 - Yii Framework 中文网 。

<?php

namespace app\controllers;

class LoginController extends \yii\web\Controller
{
    // 这里设置影响整个Controller的所有action
    public $layout = false;  // 不使用布局文件

    // public $layout = "layout1"; //指定使用layout1.php的布局文件

    public function actionIndex()
    {
        // 这里设置仅这个action有效
        // $this->layout = false;  // 不使用布局文件

        // $this->layout = "layout1"; //指定使用layout1.php的布局文件
        return $this->render('index');
    }
}
<?php
/* @var $this yii\web\View */
// 视图中选择布局,仅本视图有效
// $this->context->layout = false;     // 不使用布局
// $this->context->layout = 'layout1'  // 使用文件名为layout1.php的布局文件

?>
<h1>login/index</h1>

<p>
    You may change the content of this page by modifying
    the file <code><?= __FILE__; ?></code>.
</p>

取消布局后的效果,应该如下:

 四、设定默认路由

虽然页面是我们自己的页面了,但是默认还是会跳到自带的页面,我们需要完全抛弃框架自带的,想要默认就跳转到我们创建的Login页面,只需要在config目录中的web.php配置文件中,增加一行,设定默认路由defaultRoute的值,可以直接是类名:login,也可以类名/动作名:login/index。

<?php

......

$config = [

    .........

    'defaultRoute' => 'login/index',
 
    ......

];

......

可以去官方网站下载,不过有时候官方下载的网络不太行,可以在这里,直接下载。

yii2的basic版下载:yii2-basic-2.0.43.zip-PHP文档类资源-CSDN下载

对应的示例代码:

  yii2_study: 学习yii2的各种组件应用示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值