Yii 1.0 基础
骨架搭建
1.下载
2.windows 创建PHP环境变量,找到php.exe的目录D:\wamp\bin\php\php5.3.5,右键我的电脑,属性\高级设置,path最后添加
;D:\wamp\bin\php\php5.3.5
3.进入命令行执行如下代码
D:
cd wamp
cd www
cd yii
cd framework
php yiic.php webapp ../cms
默认控制器,模板
$this->render('index') //会载入布局
$this->renderPartial('index') //不载入布局
url访问
index.php?r=index/add //r就是路由route的意识
布局
在views/layouts下面的是布局文件,公共区域
修改步骤
1.views/layouts下面,新建好布局文件
2.修改默认布局文件,位置在components/Controller.php
public $layout='//layouts/column1';
载入CSS/JS 文件
Yii::app()->request->baseUrl
例如:
<?php echo Yii::app()->request->baseUrl;?>/assets/index/css/index.css
Yii:app()主要负责一些全局性的功能模块
分配数据:
$data = array(
'title'=>'Yii首页Index模块测试'
);
$this->renderPartial('index',$data);
扩展自定义函数:
在protected文件夹中,新建global.func.php,建立自定义函数
在主入口文件index.php中添加
require_once('./protected/global.func.php');
模块创建,gii使用,小物件
所有的配置都可以在main.php中进行配置,那么修改默认的控制器就是在main.php中增加如下代码:
‘defaultController‘ => ‘‘, //修改默认控制器
Yii模块:admin模块为例
每个Yii的模块,都会在protected/modules目录下具有单独的文件夹,例如:admin,然后在对应的模块文件夹下存在对应的模块文件,如:AdminModule.php
那么对于模块的修改它的模块控制器则需要在AdminModule.php中进行如下定义:
$this->defaultController = ‘index‘;//修改模块的默认控制器
控制器代码
<?php
class IndexController extends Controller{
public function actionIndex(){
$LoginForm = new LoginForm();
//dump($LoginForm);
$this->renderPartial('index',array('LoginForm'=>$LoginForm));
}
}
模板代码
<body>
<h1><center>后台首页</center></h1>
<?php $from = $this->beginWidget('CActiveForm') ?>
用户名:<?php echo $from->textField($LoginForm,'username',array('id'=>'username')); ?><br/>
密 码:<?php echo $from->passwordField($LoginForm,'password',array('id'=>'password')); ?><br/>
验证码:<?php echo $from->textField($LoginForm,'verify',array('id'=>'verify')); ?><br/>
<input type="submit" value="登录"/>
<?php $this->endWidget() ?> </body>
Yii 1.0 基础的更多相关文章
- [Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]
Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同.这篇文章讨论一下如何利用Yii 2.0的自动加载机制,向系统中引入自定义类和命名空间.本文旨在抛砖引玉,如 ...
- Yii Framework2.0开发教程(5)数据库mysql性能
继续<Yii Framework2.0开发教程(3)数据库mysql入门> 首先给予一定的尊重yii2数据库支持引进 Yii 基于 PHP's PDO一个成熟的数据库访问层的建立.它提供了 ...
- <-0基础学python.第一课->
初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...
- 使用nginx部署Yii 2.0\yii-basic-app-2.0.5
nginx.conf #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log noti ...
- Android 工程在4.0基础上混淆
Android现在对安全方面要求比较高了,我今天要做的对apk进行混淆,用所有的第三方工具都不能反编译,作者的知识产权得到保障了,是不是碉堡了. 一,首先说明我这是在4.0基础上进行的. 先看看pro ...
- Android程序开发0基础教程(一)
程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操 ...
- swift3.0基础语法
swift 3.0 基础语法 目录 01-变量和常量 02-运算符 03-可选项 04-条件语句 05-循环 06-字符串 07-元组 08-数组 09-字典 10-对象和类 11-枚举 12-属性 ...
- 【转】WF4.0 (基础篇)
转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter —— 兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...
- JAVA思维导图系列:多线程0基础
感觉自己JAVA基础太差了,又一次看一遍,已思维导图的方式记录下来 多线程0基础 进程 独立性 拥有独立资源 独立的地址 无授权其它进程无法訪问 动态性 与程序的差别是:进程是动态的指令集合,而程序是 ...
随机推荐
- Struts1.x教程:配置文件总结
要想使用Struts,至少要依靠两个配置文件:web.xml和struts-config.xml.其中web.xml用来安装Struts框架.而struts-config.xml用来配置在Struts ...
- getHibernateTemplate()
getHibernateTemplate 前提条件:你的类必须继承HibernateDaoSupport 一: 回调函数: public List getList(){ return (List ...
- opencv-jni -调试出错taking address of temporary [-fpermissive]
今天在进行代码往安卓平台移植时,IplImage *qImg=&(IplImage)dst1;报错taking address of temporary [-fpermissive] 百度了一 ...
- 最短路 HDU 2544
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- POP音原因
一,通话时调节音量,有POP音. POP音产生原因在于,音量变化太大导致有POP音,需要以淡入淡出的方式调节音量.请申请MOLY00108114 & MOLY00108143这两个Modem ...
- centos常用配置收集
配置ntp服务器: # vi /etc/ntp.conf driftfile /var/lib/ntp/driftrestrict -4 default kod notrap nomodifyrest ...
- [算法] kmp实现
字符串查找是经典场景,也是面试中最常见的一道题. 说来惭愧,毕业3年了,才明白了kmp算法的实现,以前一直以为这类算法是基础,工作中中不会碰到[也的确没有碰到过...] 但是,对这些基本算法结构的理解 ...
- js优化与注意点
1.使用尽可能少的全局变量.尽量用var来声明变量,避免隐式使用全局变量. 隐式全局变量和明确定义的全局变量间有些小的差异,就是通过delete操作符让变量未定义的能力. 通过var创建的全局变量(任 ...
- postgresql 数据库的备份和恢复 (pg_dump 和 pg_restore)
pg_dump 用来备份数据库: pg_restore 用来恢复数据库: 备份出来的文件可以用 XZ (linux 自带的压缩工具压缩). XZ压缩最新压缩率之王 xz这个压缩可能很多都很陌生,不过您 ...
- Openlayers修改矢量要素并且可捕捉
<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content= ...