yii 10.16
- 什么是框架?
a) 框架就是一个半成品,一个帮助我们完成业务流程的程序
b) 框架融合了很多的功能,但是不会给我们具体功能模块
c) 我们需要在框架的基础上开发业务流程
- 为什么要使用框架?
a) 提高开发效率
- 什么时候使用框架?
a) 99%都在使用框架
4. 我们要学习的框架:
a) Yii(美籍华人)
b) ThinkPHP(中国人)
- Yii框架的介绍:
a) 是美籍华人薛强的开源框架
b) 基于MVC
c) 纯OOP,基于组件
- 安装Yii框架:
a) 我们无法通过localhost访问安装,必须通过命令提示符安装:
b) 打开命令提示符,输入以下命令即可安装:
c) C:/php5/php.exe f:/www/20141016-yii1/project/framework/yiic.php webapp f:/www/20141016-yii1/project/bbs
d) /usr/local/php/bin/php
- Yii框架项目文件夹重点分析的文件夹
a) bbs/assets 存放资源
b) bbs/protected/components 基类存放路径
c) bbs/protected/config 配置文件存放路径
d) bbs/protected/controllers 存放所有控制器
e) bbs/protected/models 存放所有的model
f) bbs/protected/views 存放所有的视图文件
7 Yii框架的模块的访问:
a) Index.php?r=site/index
b) r:router 路由
c) site 控制器名称(SiteController)
d) index 方法名称 (actionIndex)
- Yii框架的控制器的命名方式:
a) SiteController.php
b) 方法:actionIndex
c) 加载模板:$this->render(‘index’);
d) 该模板存放在bbs/protected/views/site/index.php
8. 分析项目的流程:
a) 确定需求
b) 设置数据库
c) 确定页面
d) 编写PHP程序
e) 测试
f) 验收
- 将HTML页面搭入到项目当中:
a) 前台
- i. 指定页面布局
- 修改文件bbs/protected/components/Controller.php文件
a) public $layout = “//layouts/home”
- 创建布局文件
a) 在bbs/protected/views/layouts当中创建布局文件home.php
- 修改布局文件
a) 将页面的公共头和公共尾放入到布局文件当中,中间放入<?php echo $content;?>,此时控制器当中的方法是用render方法加载模板的时候,模板的内容就会放在$content的位置。
- 在模板布局当中如何指定资源路径
a) 可以通过<?php echo Yii::app()->request->baseurl ?>找到bbs路径的request_uri的地址。
- ii. 页面全部加载完毕后,可以在配置文件bbs/protected/config/main.php当中指定默认控制器,在return array()当中添加选项:
- ‘defaultController’=>’index’,
b) 后台
- i. 创建后台独立的Modules
- 修改配置文件bbs/protected/config/main.php
a) 将’modules’=>array()当中的’gii’打开,修改password密码
- 通过浏览器访问index.php?r=gii,输入刚刚设置号的密码登陆
- 选择Module Generator
- 在Module Id处输入admin,点击preview预览,点击generate创建,创建成功后,程序会自动在bbs/protected当中创建modules文件夹,modules/admin文件夹和后台对应的控制器和模板
- 打开admin模块:
a) 修改配置文件:bbs/protected/config/main.php,将’admin’添加到’modules’当中即可
- 此时我们就可以通过index.php?r=admin/default/index来访问到admin分组下的default控制器下的index方法
- ii.
yii 10.16的更多相关文章
- 背水一战 Windows 10 (16) - 动画: ThemeAnimation(主题动画)
[源码下载] 背水一战 Windows 10 (16) - 动画: ThemeAnimation(主题动画) 作者:webabcd 介绍背水一战 Windows 10 之 动画 PopInThemeA ...
- ERROR 2003 (HY000): Can't connect to MySQL server on '10.16.115.101' (111)
ubuntu安装之后mysql,使用apt-get安装命令,默认为同意只本地访问 root@idata1:~/software# mysql -uroot -p123456 -h10.16.115.1 ...
- 10.16 NOIP模拟赛
目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...
- ERROR: openstack Error finding address for http://10.16.37.215:9292/v1/images: [Errno 32] Broken pipe
Try to set: no_proxy=10.16.37.215 this should help 转自: http://askubuntu.com/questions/575938/error-i ...
- 2019.10.16&17小结
话说也蛮久没写小结了,主要这两次考试失分严重,还是总结下吧. 10.16 T1 小奇挖矿2 100/0 [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿石交易市 ...
- [NOIP2018模拟赛10.16]手残报告
[NOIP2018模拟赛10.16]手残报告 闲扯 炉石乱斗模式美滋滋啊,又颓到好晚... 上来T2先敲了树剖,看T1发现是个思博DP,然后没过大样例,写个暴力发现还是没过大样例!?才发现理解错题意了 ...
- windows10 下访问 virtualbox 虚拟机的linux15.10/16.04 系统 及 用 putty 访问虚拟机的配置
参考: http://www.doc88.com/p-915707596190.html --- 安装samba http://my.oschina.net/u/2260265/blog/405598 ...
- java 2 8 10 16
An integer literal may be expressed in decimal (base 10), hexadecimal (base 16), octal (base 8), or ...
- JS实现2,8,10,16进制的相互转换
// 10进制转为16进制 var a=1234567890; console.log(a.toString(16)) //499602d2 // 16进制转为10进制 var num=parseIn ...
随机推荐
- android Camera 中添加一种场景模式
转自:http://blog.csdn.net/fulinwsuafcie/article/details/8833652 首先,来了解一下什么是场景模式. 最简单的方法当然是google了,这里有一 ...
- U3D assetbundle加载
using UnityEngine; using System.Collections; public class testLoadFromAB : MonoBehaviour { IEnumerat ...
- matlab中findstr,strfind,strcmp,strncmp区别与联系
在Matlab中,这几个函数区分如下: (以下默认S1和S2是字符串,同样也适用于cell细胞类型数据,也就是循环对cell中每个元素分别判断即可.) findstr(S1,S2):寻找是否有S1和S ...
- 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.
1.添加M2_HOME的环境变量 2.Preference->Java->Installed JREs->Edit 选择一个jdk, 添加 -Dmaven.multiModuleP ...
- UIButton利用分类扩展方法(封装)
UIButton+BackgroundColor.h #import <UIKit/UIKit.h> @interface UIButton (BackgroundColor) - (vo ...
- 第三章 Js变量的作用域和匿名函数
3.1 先看下面的事例: ①var temp=0; ②temp=0; 当js解析器检测到①这种情况的时候,解析器会为这个变量开辟一个内存空间,如果前面已经存在这个变量,就会把这个变量覆盖掉. 当解析器 ...
- 第七章 new的三步曲
这章是本系列文章的重点,这章揭示了js对象的真正本质 看下面的事例 var a = new b(); 等价于 ①var a={}; ②a.__proto__=b.prototype; ③b.call( ...
- SSRS用自定义对象绑定报表
有一个报表的数据源是一个对象的List, 这个对象List中还有层级,其中还有其他的对象List,这样的层级有三层.其数据是从数据库中取出来的.其LINQ的操作太多了而且复杂,所以不太可 能从LINQ ...
- http长链接与短链接
http://www.cnblogs.com/cswuyg/p/3653263.html keep-live模式 这个博客写的很全:http://www.cnblogs.com/skynet/arch ...
- css的小三角实现的方式
先上一个简单的例子哈: 此时的方向向下. 如果想方向向上的话用:border-top:0;border-bottom:4px solid; 1. width:0 height:0 border宽度,颜 ...