使用Yii框架完整搭建网站流程入门

摘要:
下载地址:http://www.yiiframework.com/http://www.yiichina.com/这是由美籍华人薛强研究的。Yii(发音Yee)代表简单、高效和可扩展。它基于MVC、纯OOP,并具有强大的基本配置要求:数据库:MySQL、PHP 5.0.1或更高版本;pdo[图片等,需要打开gd库模块]的下载完成。减压后,通过127

下载地址:

http://www.yiiframework.com/

http://www.yiichina.com/

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

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

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

基于MVC,纯OOP,强大

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

  1. 下载完成,解压后,通过127.0.0.1localhost访问其文件夹,可以查看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也可以完成功能,如果不行,重新执行上述步骤,以下两个图片都可建立

 使用Yii框架完整搭建网站流程入门第1张

 使用Yii框架完整搭建网站流程入门第2张

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入口文件里路由rsite控制器[controllers]里的index方法,

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

关键*修改默认控制器:

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

*protected/controller下创建默认主页控制器IndexController.php,继承Controller基本内容如下: 使用Yii框架完整搭建网站流程入门第3张

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.phpIndexController类下建立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.1config/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文件,controllersDefaultController.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’; *//,代表为当前moduleslayouts布局文件,所以就要在admin目录下的views文件夹下单独创建一个layouts文件夹,用来存放admin布局文件,不然会出错,另外如果需要加载外部文件,最好自己在assets里另建一个文件夹来存放。

免责声明:文章转载自《使用Yii框架完整搭建网站流程入门》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇FreeSql 如何实现 Sqlite 跨库查询Quick BI产品核心功能大图(四):Quick引擎加速十亿数据亚秒级分析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ffmpeg 加中文水印不能显示的问题

引用资料:https://blog.csdn.net/DeliaPu/article/details/76162489 中文不能显示的原因是没有指定字体库路径。只要把windows上的ttf文件移动到linux上,在程序中指定ttf文件路径和名称就可以使用中文字体了。我使用的ttf是msyh.ttf,即微软雅黑 网上其他资料说的linux 上执行fc-ca...

php图片压缩

php图片压缩 能对图片的大小、质量进行压缩。 <?php class ThumbHandler {     var $dst_img;// 目标文件     var $h_src; // 图片资源句柄     var $h_dst;// 新图句柄     var $h_mask;// 水印句柄     var $img_create_quality...

CodeIgniter 的数据安全过滤全解析

http://justcoding.iteye.com/blog/546880 CodeIgniter 的数据安全过滤全解析博客分类: Codeigniter / CakePHP MySQLSQLPHP 由于对CI的SQL安全这些不放心,今天寡人啃了一下午的代码,算是对其机制比较了解了,为了让各位兄弟姐妹少走弯路,特将战果公布,希望大家喜欢。 1.无...

Zabbix监控系统详解:ubuntu系统下软件的安装

Zabbix监控系统详解1、介绍zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由2部分构成,zabbix server与可选组件zabbix agent。 zabbix se...

切换Mac默认PHP版本为MAMP

方法1 (失效了) 打开mamp pro 在左侧languages中点击php , 然后打勾 ,make this version available on the command line. 方法2 Mac自带了PHP开发环境,但是很多开发者装了MAMP集成环境,打开终端输入:which php,会显示/usr/bin/php,是系统自带的PHP版本,要...

linux简单命令与Shell脚本

说明1、#表示root用户登录,$表示普通用户登录2、|符号是管道符,用于把|前的输出作为后面命令的输入3、>表示追加并覆盖的意思4、>>两个大于符号,表示追加命令1、cd命令:切换目录cd /home 进入/home目录cd ../返回上一级目录cd  ./当前目录2、ls命令:产看文件及目录ls  ./ 查看当前目录所有的文件和目录l...