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基础 进程 独立性 拥有独立资源 独立的地址 无授权其它进程无法訪问 动态性 与程序的差别是:进程是动态的指令集合,而程序是 ...
随机推荐
- usb免驱动摄像头实验
1.编译openwrt系统内核使它支持usb,进入在/openwrt/trunk上执行make menuconfig 2.1). 添加USB 相关支持Kernel modules —> USB ...
- Python3基础 list() 将一个元组转换成列表
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- sql server 更新两个表的某个字段
--临时表 create table tmp_cup ( a varchar(20), b varchar(50), c varchar(20) ) select * from t_customer ...
- Claris and XOR(模拟)
Claris and XOR Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- [iOS]C语言技术视频-15-指针变量高级用法练习一(函数指针完成动态排序)
下载地址: 链接: http://pan.baidu.com/s/1o6MOzX4 密码: xzxn
- fsck害了我很久了,必须关掉,因为他每次打卡都要推迟数十分钟。
http://crashmag.net/disable-filesystem-check-fsck-at-boot-time Disable the filesystem check (fsck) a ...
- LB 高可扩展性集群(负载均衡集群)
一.什么是负载均衡 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载, ...
- Openlayers修改矢量要素
将以下代码放到demo下examples中即可运行 <!DOCTYPE html><html> <head> <meta http-equiv="C ...
- 模块之字节编译的.pyc文件---from.import语句
字节编译的.pyc文件输入一个模块相对来说是一个比较费时的事情,所以Python做了一些技巧,以便使输入模块更加快一些.一种方法是创建 字节编译的文件 ,这些文件以.pyc作为扩展名.字节编译的文件与 ...
- 最简单的ajax调用webservice
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestHelloWorld ...