php的yii框架开发总结1】的更多相关文章

YII框架开发一个项目的通用目录结构: 3 testdrive/ 4 index.php Web 应用入口脚本文件 5 assets/ 包含公开的资源文件 6 css/ 包含 CSS 文件 7 images/ 包含图片文件 8 themes/ 包含应用主题 9 protected/ 包含受保护的应用文件 10 yiic yiic 命令行脚本 11 yiic.bat Windows 下的 yiic 命令行脚本 12 commands/ 包含自定义的 'yiic' 命令 13 shell/ 包含自定…
最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放了一些功能性的类库,function中是主要功能的逻辑代码,其核心就是SQL语句. lib中放有一些第三方的扩展插件,templates里放一些页面的模板.其他的核心页面和配置文件均放在了根目录下. 如图:   此次的改进主要是使用第三方php开发框架来完成对原有部分功能的重构. 经过简单的比较,决…
最近用php的yii框架写了一个小的demo,虽然不复杂,但是也学习了很多东西,现在总结一下. 项目需求:为几个教研室写一个日报系统,每个人每天写日报,并且系统有自动实现发邮件功能. 额外要求:1.人员应该选择所在教研室.所做的项目: 2.人员可以选择是否接收每天发的日报内容的邮件以及是否接收日报提醒: 3.可以查看大家当天的日报列表,可以查看自己的日报历史记录: 4.可以修改今天已经发过的日报: 页面展示: 很简单,下一节讲从头到尾的设计过程.…
开发流程:1.用yii创建网站目录,当时用命令行创建时遇到了问题,试了很久才找到原因:我的原因是在yii/framework/yiic.bat这个文件中的一条语句: if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe php.exe的路径是不对的,要改成自己的php.exe的路径, 比如我的改成:if "%PHP_COMMAND%" == "" set PHP_COMMAND=C:…
这一篇讲解怎么实现的自动发邮件的功能,我在网上查了很多资料,很多都是用定时检测来实现的,我试过,效率太低,网站也卡了. 后来就写了一个.bat文件来实现刷新页面,用了windows的定时任务定时来运行该.bat文件,成功实现了功能. .bat文件: @echo off iexplore localhost/yii/mysite/index.php/dailyreport/open exit 很简单,就是打开发邮件的页面.下面是关闭浏览器的.bat文件 @echo off taskkill /F…
1.CActiveForm是Chtml类的封装,但是它有数据验证的功能,有三种方式:服务器端.客户端.Ajax数据验证. 服务器端验证:当整个表单页面被提交后,在服务器端 进行验证.如果存在任何验证错误,CActiveForm将把错误 信息显示在用户页面上. 基于AJAX的验证:当用户在输入框中输入了数据, 需要在服务器端进行验证的输入框将触发一个AJAX验证. 验证结果通过AJAX response返回,输入框也根据返回结果 相应的改变它的显示行为. 客户端验证: 当用户在输入框中输入数据,…
EMailer是一个简单的封装PHPMailer类.利用这个扩展可以实现发邮件的功能. 下载地址:http://www.yiiframework.com/extension/mailer/ 下载解压把mailer文件夹放到protected\extensions下 在config\main.php文件中加入以下几条语句,应用到系统当中: 'import'=>array( 'application.models.*', 'application.components.*', 'applicatio…
protected\config\main.php是整个网站中很重要的一个文件,引用文件,连接数据库,默认页面等都是在这里设置: 'import'=>array( 'application.models.*', 'application.components.*', 'application.extensions.*', ), 这是引进yii相关的组件,其中application.extensions.*是引用的拓展文件,这里我用的是发邮件的mailer文件. 'defaultControlle…
MVC中的Controller部分,所有的controller类都是继承自Controller基类,基类里面包含actionAdmin-管理员,actionIndex-一般默认显示,actionView-查看某些信息,actionDelete-删除数据,actionUpdate-修改信息,actionCreate-创建基于model某条信息,当然我们还可以自己构建我们需要的方法,并配合自己写的View以得到其它功能页面.下面我们来详细介绍Controller里面的方法.属性. public $l…
MVC架构之model类: 我的日报系统用到的数据表:tbl_dailyreport表 其中anthor_id是外键,对应tbl_user数据表的主键id,下面是tbl_user表 class Dailyreport extends CActiveRecord可以看出model类全是继承自CActiveRecord类,这个基类太重要了,下面我们来研究一下. 首先,rules()方法:返回一个数组array {return} array validation rules to be applied…
用户验证的实现:/protected/components/UserIdentity.php 修改:function authenticate()函数中的语句 public function authenticate() { $username=strtolower($this->name); $user=User::model()->find('LOWER(name)=?',array($username)); if($user===null) $this->errorCode=sel…
利用yii里面的gii工具可以很容易的自动创建数据表相应的的CURD操作的基于MVC的文件: 首先,打开:自己网站/protected/config/main.php文件 'modules'=>array( 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'这儿设置一个密码', ), ),浏览器打开http://localhost:8088/yii/mysite/index.php?r=gii 当然路径要根据自己…
testdrive/    index.    assets/    css/    images/    themes/           yiic.       commands/              包含自定义的 'yiic'          shell/              包含自定义的 'yiic shell'       components/          MainMenu.php        'MainMenu'          Identity.php …
Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所需要的几乎一切功能.Yii是最有效率的PHP框架之一. yii框架里有很多组件,他的功能非常强大,代码的编写也变得简单.我是刚刚学习yii框架,听老师说这个框架很简单,可我并不那么认为,他里面有很多东西,根本搞不清楚作用.你必须英语够好,不然就无法看明白他写的是什么.都说多看看手册,代码,用多了自然就会了,可我觉得,就算我反复使用,我还是不知道yii框架里每个方法.…
原文转自 http://www.cnblogs.com/ldms/p/4565547.html Yii 有很多 extension 可以使用,在查看了 Yii 官网上提供的与 OAuth 相关的扩展后,发现了几个 OAuth2 的客户端扩展,但是并没有找到可以作为 OAuth2 Server 的扩展.因为 Yii 是组织良好的易于扩展的框架,所以完全可以集成其它的 PHP OAuth2 Server 实现方案.在 OAuth.net/2/ 官网上,提供了几个 PHP 实现的 OAuth2 Ser…
Yii 是一个高性能的,适用于开发 WEB2.0 应用的 PHP 框架. Yii目前有两个主要的版本: 2.0 和 1.1.本文以YII 2.0.7为例. 环境需求 Yii2.0 框架有一些系统上的需求: PHP 版本 >= 5.4 Mcrypt PHP 扩展 OpenSSL PHP 扩展 Mbstring PHP 扩展 特点 安装 Yii可以通过Composer或者压缩包安装. 使用Composer安装 与安装Laravel框架类似,很多人会卡在这一步.要么是不会Composer,要么就是无法…
Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所需要的几乎一切功能.Yii是最有效率的PHP框架之一.Yii是创始人薛强的心血结晶,于2008年1月1日开始开发. 中文名 Yii 外文名 Yii Framework 本    质 PHP 框架 用    途 开发大型Web应用 编    写 OOP编写 创始人 薛强   目录 1 概述 2 优点 3 特点 ▪ 快速 ▪ 安全 ▪ 专业 4 特性 5 关于Yii ▪…
       YII 框架源码分析    百度联盟事业部——黄银锋 目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 2.2.YiiBase 静态类 5 2.3.组件 6 2.4.模块 9 2.5 .App 应用   10 2.6 .WebApp 应用   11 3.系统组件 13 3.1.日志路由组件  13 3.2.Url 管理组件  15 3.3.异常处理组件  17 3.4.Cache 组件   17 3…
在项目开发的过程中有时候会涉及到对外提供接口供第三方程序调用或者是不同程序间需要相互通信,那么最通用的做法是用传统的SOAP方式来实现,用XML的文档格式来作为传输载体.但是这种方式不灵活,支持的数据结构类型单一,例如(不能返回json格式的数据),同时在javascript中处理冗长的SOAP依然很困难,对于浏览器有压力,也就是说当XML的内容过多时可能会存在性能问题.如果在项目中有以上需求,不妨考虑使用第三方开发的远程调用框架phprpc:http://www.phprpc.org/zh_C…
以下由我们在信易网络公司开发项目的时候终结出的一些经验 使用Yii框架中遇到的三个问题 1.main.php文件中欲引入全局变量的问题 还原一下此问题:在Yii框架中,main.php一般会作为整个应用的配置文件,保存Application的各种参数,直接return数组.在使用的过程中,因为main.php文件一定会被Yii提前加载,所以将一些全局性的操作也放在了此文件,加载一些类操作啥的没有什么问题,当有一次加了一个全局变量,并且在其它地方使用global获取全局变量时,发现无论我如何努力都…
yii的一些小的技巧 http://www.yiichina.com/topic/151 db组件 'schemaCachingDuration'=>3600, 为什么不起做用?需要开缓存 如何在页面下边显示sql的查询时间在log组件的routes中加入 array( 'class'=>'CProfileLogRoute', 'levels'=>'error, warning', ) 同时在db组件中加入'enableProfiling'=>true,同时在这种情况下,可以用CD…
db组件 'schemaCachingDuration'=>3600, 为什么不起做用?需要开缓存 如何在页面下边显示sql的查询时间在log组件的routes中加入 array('class'=>'CProfileLogRoute','levels'=>'error, warning',) 同时在db组件中加入'enableProfiling'=>true,同时在这种情况下,可以用CDbConnection::getStats() 查看执行了多少个语句,用了多少时间 如何知道某一…
Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO)建立在PHP的数据对象(PDO)extension上,使得在一个单一的统一的接口可以访问不同的数据库管理系统(DBMS).使用Yii的DAO开发的应用程序可以很容易地切换使用不同的数据库管理系统,而不需要修改数据访问代码.Yii 的Active Record( AR ),实现了被广泛采用的对象关系映射(ORM)办法,进一步简化数据库编程.按照约定,一个类代表一个表,一个实例代表一行数据.Yii AR消除了大部分用于处理CRUD(创建,…
第一次写博文,也不知道怎么写,不太熟悉,带小伙伴学习一样我日常使用的Yii框架. PHP中的开发框架有很多,比如:ThinkPHP.Yii.CI.Laravel.Phalcon等.现在流行度最高的是Laravel框架,鉴于公司用的是Yii框架,就讲一讲Yii框架的基础操作.希望写好的就借鉴,写的不好的可以向我提出建议. 1.Yii框架是一个有MVC思想的框架,Model.View.Controller.该框架由美籍华人开发,相对于其他框架来说是一个重量级的框架.Yii框架有脚手架功能,可以自动生…
  前  言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的安全性能. 而PHP,号称"世界上最好用的编程语言"!自然也拥有一大群的"脑残粉",让诸多的PHP程序猿投入到框架的开发过程中.从众所周知的ThinkPHP.PHPCMS,到时下流行的YII.Symfony.Laravel.Workerman.CodeIgniter等众…
这里使用的YII框架的版本是2.0.13 详情请参考官方文档:用Gii生成代码 使用gii的主要步骤 1.生成模型(Model Generator) 2.生成CRUD代码 注意点 1.在生成CURD代码的时候,指定model.controller.searchModel的名称时,要注意加上命名空间. 2.视图可以路径可以不用指定. 3.如果生成代码时(被禁止了),那么可以使用chmod -R +w dirName改变写权限. 遇到过的问题 遇到的问题:使用ip地址来访问网站(此时已经部署到服务器…
YII框架的使用 spit: 吐痰,吐口水, 过去式: spat spat: 本身也可以作为一个单词, 意思是: "小打小闹""小的吵闹""小争吵" list函数,"列表", 表示将数组中 对应的 元素值 相应的赋值给 多个变量... explode和implode是在数组和字符串之间转换, 转换的分隔符不能为空: 如果delimiter为空, 则 会产生一个警告: empty delimiter... 数组排序用sort,…
yii框架(yii framework)的部署方法 刚開始学习的人来说,部署yii框架还是有一定难度的,Yii是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所须要的差点儿一切功能.Yii是最有效率的PHP框架之中的一个.以下就開始我们的yii框架的部署. 1.在部署yii框架之前首先要搭建好php环境.这里就不说搭建好开发环境的问题了,环境搭建好后.到yii官方站点下载yii framework 2.然后将下载下来的目录解压,放置你的ph…
熟悉php的autoload机制,自己实现一个autoload函数 一.复习框架: basic/ 应用根目录 composer.json Composer 配置文件, 描述包信息 config/ 包含应用配置及其它配置 console.php 控制台应用配置信息 web.php Web 应用配置信息 commands/ 包含控制台命令类 controllers/ 包含控制器类 models/ 包含模型类 runtime/ 包含 Yii 在运行时生成的文件,例如日志和缓存文件 vendor/ 包含…
Yii框架的Gii在我看来算是个快速创建器,当然对于学习来说意义不大,但对于已经懂得他的原理并用他开发的话,就是个快速开发的好工具. 他能快速的创建控制器,模块,crup,插件,Module. 打开gii模块 'modules' => [ 'gii' => [ 'class' => 'yii\gii\Module', ], ], 在创建modules的时候,比1.1版本的还要多填一个 class modules,需要填一个类似 app\modules\admin\Module 的东西.…