IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 猛男村村长的yii2学习笔记002,yii入门 -> 正文阅读

[PHP知识库]猛男村村长的yii2学习笔记002,yii入门

上一次学习了yii2的环境安装并正常打开了页面,现在就开始按照官方guide的入门指引,来入门yii2的开发啦

1.使用phpstudy环境运行yii2

之所以使用phpstudy来运行yii2,而不用php命令行运行,一是因为命令行不方便每次都运行一遍,二是因为phpstudy更接近实际部署的开发生产环境

使用phpstudy创建网站很简单,这里主要说的是在创建网站时应该注意的地方:

注意的是创建的步骤和根目录问题,首先需要按照学习笔记001的方法,安装了yii2的源码,假设yii2源码的位置是D:\basic,那么在创建网站时,先填写域名,然后再修改默认的根目录为D:\basic\web

然后是创建数据库,因为入门教程中需要使用到数据库

创建好了之后,就可以通过创建网站时的域名来访问yii2了

2.yii2的Hello, World!

一切都准备妥当了,那么我们开始入门Hello, World!吧

咱们通常入门一个php框架,都是从创建一个helloworld页面开始,像yii2这种框架,那就要从控制器controller和视图view开始了

按照官方的指引,首先需要在controllers/SiteController.php这个文件添加say方法,格式就是在前边加上action,组合形成actionSay,表示site控制器的say动作。要注意的是这个actionSay方法是带有参数的,这个参数可以在url地址参数传递进来

然后创建views/site/say.php文件,这个文件表示的是site控制器的视图,可以看出来,yii2框架默认会从site文件夹钟找到say.php文件作为say动作的视图,也就是说,site控制器对应一个site视图文件夹,这样设计,也符合yii2的代码结构,可以想象得到,一个控制器中有很多个动作方法,一个动作方法对应着一个视图文件,那么就很容易看出,一个控制器应该对应着多个视图文件,这样的设计使得我们很方便的管理控制器所属的视图文件

现在,输入地址http://网站域名/index.php?r=site/say&message=Hello+World

其中r表示路由的意思,&message表示传递到say动作的参数

可以看到网页正常显示Hello World

3.表单功能

官方的Form指引:入门(Getting Started): 使用 Forms(Working with Forms) | Yii 2.0 权威指南 | Yii PHP Framework (yiiframework.com)

详细的内容可以看官方的指引,这里我也贴方法和代码了,主要说下我对这章节内容学习的一些新得体会

1、这个章节提出了模型的概念,yii2的模型通常可以分为两种,一种是与数据库无关的模型Model,另一种是与数据库关联的模型ActiveRecord,其实ActiveRecord也是集成的Model,只是在其基础之上增加了数据库的相关处理

2、这个章节用到了接收post参数的方法,$model->load(Yii::$app->request->post()),其中$model->load()能够将post参数加载到模型对应的成员变量,同时能够利用在模型中写好的规则对post参数做校验。而表达式Yii::$app代表yii2应用的实例,它是一个全局可访问的单例,同时,它也是一个服务定位器, 能提供requestresponsedb等等特定功能的组件。Yii::$app->request->post()就是使用request组件来访问应用实例收到的$_POST数据

3、这个章节提到了小部件的概念,视图中的表单就是通过小部件ActiveForm生成的

4.数据库的使用

官方指引数据库使用这个章节,首先对config/db.php文件进行数据库连接实例的配置,然后分别创建了控制器、模型和视图,其中模型使用了ActiveRecord类型,即该类的模型能够方便处理数据库相关的业务

首先是模型,模型继成了ActiveRecord类,这个模型不用在里面写任何代码,yii能够自动根据模型名称自动对应到数据库的表,例如这里的模型Country能够自动对应到数据库的country表

然后是控制器,控制器中通过use app\models\Country引入了Country模型,然后通过Country模型的find()静态方法实例化$query查询对象,利用$query查询对象和yii\data\Pagination进行分页查询数据,然后渲染到视图

最后是视图,使用循环的方式打印出每一页的数据,并通过分页小部件LinkPager实现分页导航功能

5.Gii代码生成器

官方对Gii的指引里提到,默认情况下,项目处于开发环境,开发环境默认是开启gii功能的,所以可以通过下面的地址访问gii功能

http://域名/index.php?r=gii

它的配置在config/web.php里边,可以设置它开启、关闭、以及访问权限等选项

打开gii页面后,可以按照提示操作,生成模型代码、数据库CRUD代码、控制器代码、表单代码、模块代码以及其他代码

指引中,演示了模型和CRUD代码的生成,在模型生成界面中,可以对表名称、模型名称、命名空间、基类、数据库连接ID等个变量进行配置,通常命名空间是app\models,基类填yii\db\ActiveRecord

然后是CRUD代码的生成,在CRUD生成界面中,需要对被操作的模型名称、查询模型、控制器和视图进行配置,例如指引中,分别将这几项内容设置成app\models\Country、app\models\CountrySearch、app\controllers\CountryController、@app/views/country,另外需要填写的控制器理类通常是yii\web\Controller

PS:在preview后,如果文件已经存在,且准备生成的文件代码有不一样的地方,可以通过diff查看前后的差异再决定是不是要生成。如果不一样,但要覆盖的话,需要点overwrite按钮后在点generate按钮生成,才可以覆盖原来的代码

总结

通过这次的入门学习,大致了解了yii2使用的大体流程,还有就是yii2如何处理数据库和表单的

官方网站给咱们学习开发yii2项目提供了权威指南guide、类参考手册api、开发经验wiki

引用官方的话,权威指南guide:顾名思义,指南详细描述了 Yii 的工作原理 并提供了如何使用它的常规引导。 这是最重要的 Yii 辅助资料, 强烈建议在开始写 Yii 代码之前阅读;类参考手册api:描述了 Yii 中每个类的用法。 在编码过程中这极为有用,能够帮你理清某个特定类, 方法,和属性的用法。类参考手册最好在整个框架的语境下去理解;开发经验wiki:Wiki 文章是 Yii 用户在其自身经验基础上分享出来的。 大多数是使用教程或如何使用 Yii 解决特定问题。 虽然这些文章质量可能并不如权威指南, 但它们往往覆盖了更广泛的话题,并常常提供解决方案, 所以它们也很有用

咱们在学习开发过程中,多多参考官方网站写的这些内容?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-04 19:21:22  更:2021-07-04 19:21:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:44:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码