热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Yii快速入门

一、Yii框架介绍Yesitis!一个高性能、基于组件的php框架。使用mvc模式纯面向对象支持restful开发支持多级缓存具有ActiveRecord高性能、可重

一、Yii框架介绍

Yes it is! 一个高性能、基于组件的php框架。
使用mvc模式
纯面向对象
支持restful开发
支持多级缓存
具有ActiveRecord
高性能、可重用、简洁优雅

二、MVC模式

1009738-20160824215719136-223375126.png

三、安装

1.使用composer安装
2.直接下载yii框架包,需要手动修改配置文件web.php 添加COOKIEValidationKey

四、SayHello

1.构造请求路径
//127.0.0.1/basic/web/index.php?r=comment/say
comment:控制器id
say:操作id

2.构造控制器
服务器controllers目录中需要创建CommentController控制器,并添加actionSay方法

namespace app\controllers;
use yii\web\controller;
// controllers/CommentController.php
Class CommentController extends Controller
{public function actionSay(){return $this->render('say', ['message'=>"say hello"]);}
}
?>

3.返回页面视图
服务器views目录中需要创建comment目录,comment目录中创建要返回的视图say.php

// views/say.php
use yii\helpers\Html;
?>

五、Form

1.构建model对象 FormModel.php
Model类与数据库表无关。

namespace app\models;
use yii\base\model;
Class FormModel extends Model
{public $name;public $email;// 配置校验规则public function rules(){return [[['name', 'email'],'required'],['email', 'email']];}
}
?>

2.使用Yii组件构建页面form
yii\widgets\ActiveForm部件可以生成html表单

use yii\helpers\Html;
use yii\widgets\ActiveForm;
// views\model\form.php
?>field($model, 'name')?>field($model, 'email')?>


// views\model\form-show.php
?>
  • name?>

  • email?>
  • 3.创建控制器ModelController和操作actionForm

    namespace app\controllers;
    use Yii;
    use yii\web\controller;
    use app\models\FormModel;
    // controllers\ModelController.php
    Class ModelController extends Controller
    {public function actionForm(){$model = new FormModel();if($model->load(Yii::$app->request->post()) && $model->validate()){return $this->render('form-show', ['model'=>$model]);}return $this->render('form', ['model'=>$model]);}
    }
    ?>

    4.测试url
    //localhost/basic/web/index.php?r=model/form

    六、使用DataBase

    1.创建ActiveRecord对象,该对象与数据表关联,同时封装了一些基本的CRUD操作

    namespace app\models;
    use yii\db\ActiveRecord;
    Class UserInfo extends ActiveRecord
    {public static function tableName(){return "user_info";}
    }
    ?>

    2.创建DbController和actionList

    namespace app\controllers;
    use yii\web\controller;
    use app\models\UserInfo;
    use yii\data\Pagination;
    Class DbController extends Controller{public function actionList(){$query = UserInfo::find();$pagination = new Pagination(['defaultPageSize' => 5,'totalCount' => $query->count()]);$users = $query->orderBy('sex')->offset($pagination->offset)->limit($pagination->limit)->all();return $this->render('user-list', ['users'=>$users, 'pagination'=>$pagination]);}
    }
    ?>

    3.创建列表视图,使用分页组件

    use yii\widgets\LinkPager;
    ?>




    • sex ?>


    $pagination])?>

    4.请求url
    //localhost/basic/web/index.php?r=db/list


    参考资料:
    php框架学习网

    转:https://www.cnblogs.com/braveliuever/p/5803843.html



    推荐阅读
    • vue使用
      关键词: ... [详细]
    • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
    • 后台获取视图对应的字符串
      1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
    • IOS开发之短信发送与拨打电话的方法详解
      本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
    • MVC设计模式的介绍和演化过程
      本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
    • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
    • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
    • SpringMVC工作流程概述
      SpringMVC工作流程概述 ... [详细]
    • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
      2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
    • 本文介绍了一个Magento模块,其主要功能是实现前台用户利用表单给管理员发送邮件。通过阅读该模块的代码,可以了解到一些有关Magento的细节,例如如何获取系统标签id、如何使用Magento默认的提示信息以及如何使用smtp服务等。文章还提到了安装SMTP Pro插件的方法,并给出了前台页面的代码示例。 ... [详细]
    • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
    • 使用这个技巧要达到的目标:一般来说,模型和控制器你都不会有相同的类名字。让我先创建一个取名为post的model。classPostextendsModel{}现在 ... [详细]
    • [转载]从零开始学习OpenGL ES之四 – 光效
      继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
    • 补丁是一个文本文件,其内容类似于gitdiff,但与代码一样,它也有关于提交的元数据;例如提交ID,日期,提交消息等。我们可以从提交创建一个补丁,而其他人可以将它们 ... [详细]
    • 背景后端使用Nginx并更改本地host文件,起本地服务。将aaa.bbbb.com代理至本地IP地址(10.26.36.156)。使用$.ajax调用后端restful接口,要求 ... [详细]
    author-avatar
    烂哥居士
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有