下载地址:

http://www.yiiframework.com/

http://www.yiichina.com/

由美籍华人薛强研究而出,

Yii 这个名字(读作易(Yee))代表

简单(easy), 高效(efficient)和可扩展(extensible).

基于MVC,纯OOP,强大

基本配置要求:数据库:mysql,php5.0.1以上;pdo,【图片等需开启gd库模块】

  1. 下载完成,解压后,通过127.0.0.1或localhost访问其文件夹,可以查看requirements文件夹,代表framework基本需求配置,核心文件仅framework,
  2. 创建项目方式:【简:使用yiic.php webapp ../bbs 安装】

A: windows系统将php.exe文件目录地址加入到计算机环境变量,运行cmd进入【framework】目录,运行【php yiic.php webapp ../bbs】,会提示创建 【Create a webapp location ‘…yii目录\项目名称’ yes or no:】,键入【yes】,或者仍然找不到php.exe手动指定php目录,执行php.exe yiic.php webapp c:/wamp/www/yii/yii/bbs也可以完成功能,如果不行,重新执行上述步骤,以下两个图片都可建立

B: linux系统也可进入相对应目录执行【php】,执行【php yiic.php webapp ../bbs】,提示创建 【……yes or no:敲入yes】,如果不行,重新执行上述步骤

  1. 现在可以访问localhost/yii/yii/bbs/  地址相等于     localhost/yii/yii/bbs/index.php?r=site/index

表示当前默认访问的是index.php入口文件里路由r为site控制器[controllers层]里的index方法,

  1. 默认主页文件为protected/controllers文件夹里的SiteController.php下的 actionIndex方法,

关键*修改默认控制器:

打开protected/config文件夹下main.php文件,在 return array()里最外层array添加 defaultController=>index;

*:在protected/controller下创建默认主页控制器IndexController.php,继承Controller基本内容如下: 

class IndexController extends Controller{

public function actionIndex(){

/*//显示index.php,第二个参数必须以数组的形式发送(可选)*/

$this->render(index[,array(mixed=>$a)]);//加载布局

$this->renderPartial(index[,array(x=>$x)]);//不加载布局,不加载默认框架自带jquery等

}

}/*:所有的控制器都必须继承Controller,且控制器中方法必须以action开头*/

  1. 关键*:修改默认布局目录,打开components下的Controller.php文件

在Controller类中将 public $layout = ‘//laylouts/column1’;修改为public $layout = ‘//laylouts/bbs’;

  1. 布局内容:如果没有什么需要改变的,直接  <?php  echo  $content ?> 就可以,而根据默认控制器令,打开的是index控制器下的index方法,打开的是名为index的文件,所以要在protected/view文件夹下创建一个index文件夹,文件夹内创建一个index.php文件(yii规定为php文件,且内容可以包含php语法)
  2. 这样就形成了一个页面,由//layout/bbs.php公共布局 与 /protected/view/index/index.php两个文件共同形成的一个文件,首页就出来了,/layout/bbs.php内容为:

<公共的头部内容>

<?php echo $content; ?>-------意思即代表index.php中的所有内容

<公共的尾部内容>

而/protected/view/index/index.php内容为:

<首页去除头部和脚部以后中间部分的内容()>

  1. 配置css,js,image等相关外部文件,这些文件放入assets文件夹里,视图层中为了方便写路径,yii框架定义了方法

调用方式:Yii::app()->request->baseUrl   等同于 项目根目录url地址

代表着:当前项目目录

例:<img src=’image/aaa.png’> 更改为<img src=’<?php echo Yii::app()->request->baeUrl; ?>/assets/image/aaa.png’>

  1. 如要增加模块,只需在相应的文件夹建立相应的文件,相应的文件建立相应的方法即可

例1:如果需要在index下建立一个注册模块,只需在IndexControll.php的IndexController类下建立actionregister方法,在方法内执行 $this->render(‘register’); 在view模块的index目录下新建立一个名为register.php的注册文件,同时遵守//layour/blog布局样式;

例2:如果想替换布局文件,即可在当前方法中加上 public $layout=’//layouts/布局文件名’

想替换js,css,image相关文件,直接可以在文件中修改地址即可

可以选择建立一个新的控制器,在视图文件夹下建立一个新的控制器名称文件夹,包含方法名文件

  1. 控制器发送数据给页面:例: $data = array(‘id’=>’45’,’title’=>’my title’,’name’=>’zhangsan’);

$this->render(‘pageUrl’,$data);

视图层处理: <?php foreach($data as $v)?>

<li><?php echo $v->id; ?></li>

<?php endforeach?>

:如果用单独的每行描写php语法,有需要大括号的地方可以不加,但是行为结束必须有<end行为标签符>

另注:数据在Yii框架中view层中以对象形式存在,所以不能直接echo,直接调用发送来的变量即可

  1. 可以选择自定义函数,引入,require_once(‘./obj_path/myfunc.php’);
  2. gii 模块 作用:更加便捷的模块管理,例如,需要建立一个后台管理模块,步骤如下:

13.1在config/main.php文件里开启gii模块 'gii'=>array(

'class'=>'system.gii.GiiModule',

‘password’=>‘Enter Your Password Here’,//设置密码

'ipFilters'=>array('127.0.0.1','::1'),

), //将/*  */去掉

13.2访问http://localhost/yii/yii/index.php?r=gii 地址,根据main.php文件自己设置的密码登陆模块系统,新建模块选择第四个 Module Generator,填写需要建立的模块 admin,点击preview浏览,Yii默认创建一个modules/admin文件夹,AdminModule.php文件,controllers层DefaultController.php ,视图层default文件夹默认index.php文件,点击Generate创建(提示在main.php文件添加名为admin的元素),在main.php文件modules 对应的数组中添加 admin 元素,添加完以后即可访问  index.php?r=admin 页面

:与前台没有直接关系的模块尽量选择在modeules里创建

http://localhost/yii/yii/blog/index.php?r=admin

至此admin模块有了,有时间可以把后台admin搭建起来

  1. 后台模块要拥有自己的布局必须将当前项目根目录下的components文件夹复制到admin目录下,并且删除文件夹内的UserIdentity.php文件,修改admin/components文件夹里的Controller.php文件,将布局文件名修改为自己需要的,去掉一根斜线//*public $layout=’layouts/admin’; *//,代表为当前modules的layouts布局文件,所以就要在admin目录下的views文件夹下单独创建一个layouts文件夹,用来存放admin布局文件,不然会出错,另外如果需要加载外部文件,最好自己在assets里另建一个文件夹来存放。

使用Yii框架完整搭建网站流程入门的更多相关文章

  1. 无框架完整搭建安卓app及其服务端(一)

    技术背景: 我的一个项目做的的是图片处理,用 python 实现图片处理的核心功能后,想部署到安卓app中,但是对于一个对安卓和服务器都一知半解的小白来说要现学的东西太多了. 而实际上,我们的项目要求 ...

  2. 使用 OAuth2-Server-php 在 Yii 框架上搭建 OAuth2 Server

    原文转自 http://www.cnblogs.com/ldms/p/4565547.html Yii 有很多 extension 可以使用,在查看了 Yii 官网上提供的与 OAuth 相关的扩展后 ...

  3. 基于IDEA实现SSM整合框架的搭建配置流程

    1.创建数据库表,以员工信息表为例子: DROP TABLE IF EXISTS `em_info`; CREATE TABLE `em_info` ( `em_id` INT(50) NOT NUL ...

  4. ThinkPHP框架快速开发网站

    使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.如果对于同样是Web方面新手的你有一丝丝帮助 ...

  5. PHP Yii框架开发——组织架构网站重构

    最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放 ...

  6. Angular JS + Express JS入门搭建网站

    3月份开始,接到了新的任务,跟UI开发有关,用的是Angular JS,Express JS等技术.于是周末顺便学习下新技术. 组里产品UI架构如下: 其中前端,主要使用Angular JS框架,另外 ...

  7. Yii 框架学习--01 框架入门

    Yii 是一个高性能的,适用于开发 WEB2.0 应用的 PHP 框架. Yii目前有两个主要的版本: 2.0 和 1.1.本文以YII 2.0.7为例. 环境需求 Yii2.0 框架有一些系统上的需 ...

  8. 利用vue-cli配合vue-router搭建一个完整的spa流程

    好文章备忘录: 转自:https://segmentfault.com/a/1190000009160934?_ea=1849098 demo源码:https://github.com/1590123 ...

  9. Yii框架页面运行流程

    Yii框架页面运行流程 CComponent | CModel | CActiveRecord.CFormModel(所有模型的父类) | 表名.php(模型) | 入口文件------------- ...

随机推荐

  1. java如何使用JUnit进行单元测试

    注:所有内容都是在eclipse上实现,关于eclipse的安装和jdk的安装配置,请看:http://www.cnblogs.com/fench/p/5914827.html 单元测试是什么? 百度 ...

  2. fzuoj Problem 2129 子序列个数

    http://acm.fzu.edu.cn/problem.php?pid=2129 Problem 2129 子序列个数 Accept: 162    Submit: 491Time Limit: ...

  3. ElasticSearch

    ElaticSearch简介: ES是一个搜索引擎,基于当前最先进,最高效的全功能开源搜索引擎框架lucene ES还有许多功能: 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索 近实时 ...

  4. JavaWeb-springMVC

    <context:component-scan/> 扫描指定的包中的类上的注解,常用的注解有: @Controller 声明Action组件@Service    声明Service组件  ...

  5. Java Thread wait, notify and notifyAll Example

    Java Thread wait, notify and notifyAll Example Java线程中的使用的wait,notify和nitifyAll方法示例. The Object clas ...

  6. cocos2dx打包apk

    一.相关工具准备 1.SDK 2.NDK 3.ANT 4.JDK 并且搭建好JDK环境 二.搭建环境 1.打开cocos2dx目录下的setup.py文件 2.如图所示,按照提示分别输入之前下载的ND ...

  7. 代码高亮美化插件-----SyntaxHighlighter

    IT类文章博客,代码高亮美化插件-----SyntaxHighlighter 最近在做一个类似个人博客的网站,因为文章中会用到各种代码,主要是Javascript,CSS,PHP,XML等.这些代码如 ...

  8. Sublime一键预览

    //chrome{ "keys": [ "f12" ], "command": "side_bar_files_open_with ...

  9. IDEA 将已有项目添加到git

    首先,我们解决的情况是,已经有了一个正在开发的项目,现在我们要把他分享到git@osc上面去. 1.第一步,当然是先在Git@OSC上创建仓库,拿到Git@OSC仓库的HTTP连接http://git ...

  10. sql逻辑执行顺序

    要知道SQL语句,我想我们有必要知道SQL Server查询分析器怎么执行我们的SQL语句的,我们很多人会看执行计划,或者用Profiler来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查 ...