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 ...
随机推荐
- [CareerCup] 4.3 Create Minimal Binary Search Tree 创建最小二叉搜索树
4.3 Given a sorted (increasing order) array with unique integer elements, write an algorithm to crea ...
- 第十章实践——系统级I/O代码运行
第十章实践——系统级I/O代码运行 实验代码清单如下: 1. cp1——复制一个文件到另一个文件中(两个已经存在的文件) 复制前: 执行后结果 2. setecho.echostate——改变.显示输 ...
- CAS ticket过期策略
CAS提供可扩展的ticket过期策略,支持ticket-granting tickets (TGT)和service tickets (ST)的配置. CAS客户端存储用户信息一般使用session ...
- Anaconda安装更新库
平台:win64+anaconda 1. 如何查看已安装的库 打开 Anaconda Command Prompt ,在命令提示符窗口中输入以下命令: pip list # 或者 conda list ...
- Android技能杂谈——如何优雅的处理控件的点击事件
首先分享一个最佳实践: 大家开发复杂一些的Android应用的时候常常会写一个BaseActivity或者BaseFragment,里面写上一些基本而公用的方法,比如监听网络状况.弹出对话框.设置ac ...
- Sublime Text 之运行 ES6 (基于babel)
本文同步自我的个人博客:http://www.52cik.com/2015/10/21/sublime-text-run-es6.html 之前在博客园里写过一篇<Sublime Text 之运 ...
- Python学习笔记:魔术方法详解
准备工作 为了确保类是新型类,应该把 _metaclass_=type 入到你的模块的最开始. class NewType(Object): mor_code_here class OldType: ...
- 两个简单的Loading
置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<JavaScript并非"按值传递"> 作者主页:myvin 博主QQ:85139 ...
- IT男的”幸福”生活"续8
有段时间没写了,还是有点怀念的. 生活不记录下,怕真地会忘.. 以往的种种,时时刻刻回荡在我的脑海中, 最近看着孩子生活照, 猛得回首我便回了到了 续8. …… 坐在回去的公交车上,看着前面两M ...
- [C语言]一个很实用的服务端和客户端进行TCP通信的实例
本文给出一个很实用的服务端和客户端进行TCP通信的小例子.具体实现上非常简单,只是平时编写类似程序,具体步骤经常忘记,还要总是查,暂且将其记下来,方便以后参考. (1)客户端程序,编写一个文件clie ...