YII是我一直想学的一个框架,之前看过TP3.2和5.0。Yii是Yes it is 的缩写。

我采用下载源码的方式安装,解压到web目录。以前用过Composer,Yii官网也推荐用Composer安装,现在感觉安装还有点复杂,先不安装了,顺便再看看phpstudy的Composer能不能用。

对了。我现在看的是Yii 1.1的版本,公司用。跟2.0应该差距是挺大的。

目前我看的网上指南都是yiiFramework官网的

一个中文版

https://www.yiiframework.com/doc/guide/1.1/zh-cn/quickstart.installation 这里翻译的有错别字和格式的不严密,enmm...我们忽略吧。

一个英文版

https://www.yiiframework.com/doc/guide/2.0/en/start-installation在这里也是推荐用Composer安装,点击上面的More选项,DEVELOP下面 Download Yii 这里是下载打包文件的地方:https://www.yiiframework.com/download

这里我下载的是Yii 1.1.20.6的压缩文件,一共6M多,这个版本目前处于维护模式,官方不再更新,只提供支持和bug修复服务。而且1.1不能升级2.0。

下载 解压 然后目录是这样的

放在Web可访问的目录下,然后我们就可以看看能不能成功运行了。

我按照官网访问了下requirements里面的index.php,是用来检测需求的。

访问出来是这个页面,下图1.0,应该就是运行成功了。要求的php版本最低是5.1.0。检测一些通过一些未通过。未通过的是没有安装这些扩展模块。

                   图 1.0

后来我们就可以愉快的使用,正式的开始学习YII框架的内容吧。

官网上用一个小的demo引出了目录结构。(框架里下载好其实里面就带有几个小的Demo,我都大概看了看。)

yiic这个脚本执行命令以后再研究吧。先放着 标记一下

总结一下目录结构,大概就是:

一个应用入口文件:index.php

一些资源文件 css/ images/ theme/

一个protected文件夹 包括可重用组件componets/ 包含控制器基础类Controller.php 、Identity.php用于认证的Identity类

              配置文件config/ 包括控制台应用配置console.php、Web应用配置main.php、功能测试配置test.php

              controllers/文件夹 放控制器类文件

                        data/数据库文件、extensions/第三方扩展、messages/翻译过的消息

                        models/放模型的类文件 xxx动作的表单模型

              runtime/临时文件 test/测试脚本 views/视图文件 包含布局 

第一次看这些目录还是有些不知道是干什么的,比如说messages、动作等等。。

没了。(东西也不多嘛) 啊,喂。主要的Framework文件都还没看呢。底层那些东西现在理解掌握不了。

我在原有的demo里新建了一个自己的testdemo,这样路径什么的都有个参照。自己写点东西试试。

看了一下所有的应用里面都有protected文件夹,应该是个必须的,所以我们也在自己的项目里面建一个。

第一步上来就是连接数据库(应该的)

这一步需要打开php_pdo扩展,看一下phpinfo()。恩,全都开了。

第二步实现CRUD操作(简单粗暴)

他这里用了一个Gii,我又不知道是啥。先不管了。用来自动生成模型的。他这个就登录账号,自动实现增删改查,不用写代码

跳过 跳过。

开始看基础知识

首先映入眼帘的是老生常谈的MVC,看多了,要理解还要不断认真去读去看去想。反正我每次都看,从头看。

M代表Model模型,处理数据和业务规则,V代表View视图,是显示界面,C代表Controller控制器,管理模型和视图之间的通信。

这里看到一点Yii在MVC的架构上引入了application前端控制器,叫做应用,处理用户请求并将其派发到一个合适的控制器做继续处理。

入口脚本

唯一一个最终用户可直接请求执行的PHP脚本

包含 开启DEBUG的设置,require_once(yii.php文件路径) 创建实例 Yii::createWebApplication()->run(); 等。

开启调试模式需要在引入yii.php文件之前设置常量YII_DEBUG的值为true

开始学习Yii的更多相关文章

  1. 如何学习YII

    我是在Yii的官方wiki上看到这篇文章的.读的第一遍觉得很不错,还有一种想翻译出来的冲动.虽然,本人英文很烂,但是毕竟写了这样多年的代码,估计大概的意思是能有的吧.英文原文:http://www.y ...

  2. 学习Yii(2)

    Yii拥有很好的手册,还是中文的,官方的手册很详细.还是应该好好看一下.今天就开始跟着项目代码调试. 上次看到入口脚本,学习一定要快,要用心,抓住时间.不然时间拖久了就忘了.延续不上,大打折扣.而且要 ...

  3. Yii框架的学习指南(策码秀才篇)1-2 一步步学习yii framework

    我也是新手,不过之前学习了tp和ci框架,所以尝鲜想看看yii到底有多强大. 如何新建一个webapp(网站应用)呢,下面是2个步骤: 1. cmd 切换到htdocs下面的yii目录下的framew ...

  4. Yii2的深入学习--yii\base\Event 类

    根据之前一篇文章,我们知道 Yii2 的事件分两类,一是类级别的事件,二是实例级别的事件.类级别的事件是基于 yii\base\Event 实现,实例级别的事件是基于 yii\base\Compone ...

  5. Yii2的深入学习--yii\base\Object 类

    之前我们说过 Yii2 中大多数类都继承自 yii\base\Object,今天就让我们来看一下这个类. Object 是一个基础类,实现了属性的功能,其基本内容如下: <?php namesp ...

  6. 学习Yii框架,有哪些比较好的网站

    1.http://www.yiiframework.com/ 2.http://www.kancloud.cn/curder/yii/247741 3.http://www.manks.top/yii ...

  7. <yii 框架学习> yii 框架改为中文提示

    工作需要用到yii框架,但发现yii框架自带的提示都是英文的.上网找资料才发现其实可以自己陪置 . 将项目protected/config/main.php里的app配置加上language=> ...

  8. 学习Yii(3)

    组件 Component的或其子类的实例.属性和事件 组件的属性.(名称大小写不敏感) 可读可写,就像对象的公共成员变量. 通过$component->属性名.获取属性值.$component- ...

  9. 回顾yii的学习进程 总结了一下的发展过程

    如果看到这篇文章,我想说恭喜你 不用,你可以先放下学习yii了  我先学在把结论发给你们节省精力 yii2的学习教程:http://www.digpage.com/recent_update.html ...

随机推荐

  1. 2019HDU多校第六场1009 Three Investigators——杨表

    题意 给定一个 n 个元素的数列,从前 k 个元素中取5次不下降子序列,求取得的和的最大值(k从1至n) 分析 考虑将数字 a[i] 拆成 a[i] 个 a[i],比如 “4,1,2”→“4,4,4, ...

  2. SEERC 2018 B. Broken Watch (CDQ分治)

    题目链接:http://codeforces.com/gym/101964/problem/B 题意:q 种操作,①在(x,y)处加一个点,②加一个矩阵{(x1,y1),(x2,y2)},问每次操作后 ...

  3. C语言学习系列(五)变量和常量

    一.常量 定义:在程序运行中,其值不能改变的量称为常量 分类:常量可以是任何的基本数据类型,比如整数常量.浮点常量.字符常量,或字符串字面值,也有枚举常量. 在 C 中,有两种简单的定义常量的方式: ...

  4. https 非对称加密

  5. [Luogu] 被污染的河流

    https://www.luogu.org/problemnew/show/P3875 线段树扫描线求矩形面积并 扫描线的线段树有点奇怪,修改的标记不会下传,标记的意义是当前区间被完整地覆盖了多少次, ...

  6. C/C++语言之由数字26引起的文件的数据保存与读取调试。

    首先在VS2010中遇到的问题是,建立了一个结构体 struct position{ int x; int y; }: 然后用此结构体声明一个数组rout[8]; for(int i=0;i<8 ...

  7. LOJ166 拉格朗日插值 2【卷积,NTT】

    题目链接:LOJ 题目描述:输入多项式的次数$n$,一个整数$m$和$f(0),f(1),f(2),\ldots,f(n)$,输出$f(m),f(m+1),f(m+2),\ldots,f(m+n)$ ...

  8. P2058 海港

    原题链接  https://www.luogu.org/problemnew/show/P2058 这道题昨天qyf大佬刚给我们讲了一下,所以今天就把它做啦! qyf大佬的思路和我的是一样的(其实是借 ...

  9. 顺序模型api

    Compile:配置模型,然后进行训练 compile(optimizer, loss=None, metrics=None, loss_weights=None, sample_weight_mod ...

  10. php 图片格式转换-亲测ok

    代码如下 /** * 图片格式转换 * @param string $image_path 文件路径或url * @param string $to_ext 待转格式,支持png,gif,jpeg,w ...