Yii PHP Framework有用新手教程
说明:由于近期工作工作关系,须要开发一个在Linux下执行的Web Application,须要对如今比較流行的一些PHP框架做一个了解和评估,以下的这篇文章是笔者近期学习一个比較新的PHP Framework的一点经历和操作步骤,由于官方的手冊写得比較晦涩(特别是中文的),以前尝试遍读它那个手冊再动手,读了一大半发现仍无法理解,于是干脆先下手为强了,因而也就有了以下的文章。
介绍
Yii 是一个基于组件、纯OOP的、用于开发大型 Web 应用的高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,可以显著加速开发进程。Yii适合大流量的应用,如门户、BBS、CMS及B2B系统等,功能丰富,性能优异,只是它的中文文档还不完好,而且有些命令行的操作是针对非Windows用户的,不易理解,所以制作了这篇文档。
下载地址:http://www.yiiframework.com/download/
中文文档地址:http://www.yiiframework.com/doc/guide/zh_cn
配置
以下针对本人的机器相关软件环境及路径做下说明:
Apache2.2.4+PHP5.2.5+MySQL5.1.39
在这里须要说明的是须要在设置Windows环境变量,在Path中加入PHP执行环境所在的文件夹(如本人在原有配置后加上”;C:/PHP”),由于使用Yii时须要PHP的执行环境。此外,在PHP版本号选择时建议不要选择比較高的版本号,本人是从PHP5.3.0->PHP5.2.11->PHP5.2.5一路降下来才执行成功的,建议尽量临时不要使用PHP5.3.0、PHP5.2.11,本人在使用这两个版本号过程中常常遇到一个ext文件夹下的dll文件不能载入的情况,当然你确认自己对PHP的配置相当熟悉的话例外。
由于在Yii中须要开启pdo和pdo_mysql,所以请确保在执行环境所使用的php.ini中取消了extension=php_mysql.dll、extension=php_pdo.dll、extension=php_pdo_mysql.dll的凝视。
Apache的站点根路径为D:/wwwroot,在这个根路径下创建一个名为YiiDemo的目录,将从网上下载到的Yii压缩包解压之后,拷贝进D:/wwwroot/YiiDemo目录,文件结构例如以下:
注:上图中demos、framework、requirements是Yii压缩包中的目录,其他文件和目录是本人使用Eclipse时创建的。此外,在D:/wwwroot/YiiDemo/framework目录下有一个yiic.bat文件,这个文件能够帮助我们高速生成站点架构和MVC相关的文件。
另外,在本实例中MySQL和PHP都是用了utf8编码,不建议使用gb2312编码,能显示的中文字符太少,而且对其他东亚语系不支持,甚至连生僻点的繁体中文都不能显示,而utf8能够解决问题。
创建站点初始结构
启动Windows命令行程序(在開始菜单上找到“执行”,然后输入“cmd”并回车),能够看到例如以下命令行窗体:
在命令行方式下切换到Yii的framework文件夹下用以运行yiic命令(实际运行的是yiic.bat),例如以下:
看到如上图所看到的的信息之后,就能够使用yiic来创建站点结构了,在本例中我们在D:/wwwroot/YiiDemo/framework(注意Apache中站点根路径为D:/wwwroot)下创建站点,站点名字为study,先在D:/wwwroot/YiiDemo/framework下手动创建study这个目录,然后使用例如以下命令创建站点:yiic webapp 站点路径,例如以下图:
在输入创建站点的命令之后就会看到如上图所看到的的提示,键入”y”之后就会在D:/wwwroot/YiiDemo/study文件夹创建站点的框架结构,例如以下图所看到的:
依照本人机器配置,如今就能够看到Yii框架的雏形显示了,网址是:http://localhost/YiiDemo/study/index.php。
生成MVC文件
依照默认配置还不能使用数据库,要想获取与数据库的练习,须要更改配置,打开D:/wwwroot/YiiDemo/study/protected/config目录下的main.php文件,更改components中的配置就可以,’db’这一參数被凝视掉了,将’db’參数设置例如以下:
'db'=>array(
'connectionString'=>'mysql:host=localhost;dbname=study',
'username'=>'root',
'password'=>'jeri',
),
保存之后就可以连接MySQL数据库了,实际使用时要依据自己的实际情况配置。
在此将继续使用yiic这个命令行工具,通过cd切换工作路径到D:/wwwroot/YiiDemo/study这个目录,然后在命令行中能够创建model和view文件。例如以下:
须要注意的是,如上图所看到的,由于yiic.bat文件在D:/wwwroot/YiiDemo/framework目录下,而当前命令行的工作路径是D:/wwwroot/YiiDemo/study,所以在执行yiic时建议使用全路径。
使用yiic shell命令就能够进入shell命令行,在命令行看到的输入提示变为“>>”,键入model 表名就会创建相应表的model文件,上图以下就是使用“model user”成功之后就能够看到上图相应的情况。
还能够使用crud (crud各自是create/read/update/delete的缩写,表示经常使用的增删改查数据库操作)表名创建相应的coltroller和view文件,例如以下图所看到的:
比方针对表user、userlist等使用model和crud命令之后,我们就能够在浏览器中查看这些文件了,如查看userlist表中的数据,能够在浏览器中输入http://localhost/YiiDemo/study/index.php?r=userlist,看到例如以下所看到的的图:
能够看到虽然MySQL和PHP都是用了utf8编码,可是数据库中的RealName字段由于是中文数据导致不能正常显示,出现这种情况是由于採用了默认的字符集连接MySQL,在PHP中直接连接MySQL时,假设使用了utf8编码,我们会在PHP代码中做例如以下设置:mysql_query("set names 'utf8'");可是在Yii中没有提供这种机会,
我们能够在设置数据库连接字符串时指定连接数据库所使用的字符集,例如以下:
'db'=>array(
'connectionString'=>'mysql:host=localhost;dbname=study',
'username'=>'root',
'password'=>'jeri',
'charset'=>'utf8',//use charset as utf8
),
这样就能正常显示了。当然也能够更改全局配置,那就是更改D:/wwwroot/YiiDemo/framework/db目录下的CDbConnection.php文件里的
public $charset;
改为public $charset='utf8';也能正常显示了,例如以下图所看到的:
好了,至此没有写一行代码,可是已经完毕了一个站点的大体框架,而且能初步实现增删改查功能了。尽管採用更改所有配置的方式也能够实现显示数据库中的中文,可是不建议採用这样的方式。在此很感谢kingheaven的提示。
Yii PHP Framework有用新手教程的更多相关文章
- 有用PHP依赖管理工具Composer新手教程
PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理 ...
- Groovy新手教程
Groovy新手教程 kmyhy@126.com 2009-5-13 一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也执行在 JVM 中. 作为跑在JVM ...
- React JS高速新手教程
翻译至官方文档<Tutorial>http://facebook.github.io/react/docs/tutorial.html 转载请注明出处:http://blog.csdn.n ...
- Android基础新手教程——4.4.1 ContentProvider初探
Android基础新手教程--4.4.1 ContentProvider初探 标签(空格分隔): Android基础新手教程 本节引言: 本节给大家带来的是Android四大组件中的最后一个--Con ...
- Pycharm新手教程,只需要看这篇就够了
pycharm是一款高效的python IDE工具,它非常强大,且可以跨平台,是新手首选工具!下面我给第一次使用这款软件的朋友做一个简单的使用教程,希望能给你带来帮助! 目前pycharm一共有两个版 ...
- Arduino Yun高速新手教程(大学霸内部资料)
Arduino Yun高速新手教程(大学霸内部资料) 本资料为国内第一本Arduino Yun教程.具体解说Arduino Yun的基本结构.开发环境.系统配置.并着力解说关键功能--Bridge.最 ...
- Web项目的发布新手教程
ASP.NET服务器发布新手教程 ——本文仅赠予第一次做Web项目,需要发布的新手们,转载的请注明出处. 首先我们说一下我们的需要的一个环境.我使用的是Visual Studio 2010,版本.NE ...
- APP设计尺寸规范大全,APP界面设计新手教程【官方版】(转)
正值25学堂一周年之际,同时站长和APP设计同仁们在群里(APP界面设计 UI设计交流群,APP界面设计⑥群 APPUI设计③群58946771 APP设计资源⑤群 386032923欢迎大家加入交流 ...
- ROS探索总结(三)——ROS新手教程【转】
转自:http://blog.csdn.net/hcx25909/article/details/8811313 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一ROS的 ...
随机推荐
- PHP 执行系统外部命令 system() exec() passthru()
区别: system() 输出并返回最后一行shell结果. exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面. passthru() 只调用命令,把命令的运 ...
- rest简单实例
http://www.cnblogs.com/fredric/archive/2012/03/03/2378680.html http://www.thinksaas.cn/topics/0/153/ ...
- Entity Framework 的枚举类型
新增数据模型,新增“实体”之后,新增“枚举类型”,创建Enum值,将“实体”中的列和Enum关联,选中“实体”中的列属性改变类型为Enum名称,生成数据库…… 如下转自:http://item.con ...
- 认识html标签
让我们通过一个网页的学习,来对html标签有一个初步理解. 平常大家说的上网就是浏览各种各式各样的网页,这些网页都是由html标签组成的. 下面就是一个简单的网页.效果图如下: 我们来分析一下,这个网 ...
- DWZ简介及其使用
来源:http://blog.csdn.net/t123012009065/article/details/8286826 DWZ简介: DWZ富客户端框架(jQuery RIA framewor ...
- 常用命令常用sql:SHOWVARIABLESLIKE'character%'
mysql学习笔记-常用命令 常用sql: SHOW VARIABLES LIKE 'character%';查看字符集SHOW VARIABLES LIKE 'collation_%';show e ...
- 客户端JavaScript(window、document、element)
一.window对象是所有客户端JavaScript特性和API的主要接入点,用window来引用它. 属性:location属性(引用Location对象,当前显示在窗口的URL).document ...
- mac brew 安装包下载失败解决
1.FQ或者用别的方式把安装包下载下来 2.查看缓存存储目录 brew --cache 3.将下载的包拷贝到缓存目录中,再此执行安装命令,如果安装还是去下载,检查下缓存目录是否多出一个下载中的文件,将 ...
- JavaWeb学习笔记之JSP(一)
1. JSP: 1.1. 为什么需要 JSP ? 如果使用Servlet程序来输出只有局部内容需要动态改变的网页,但是其中的静态网页内容也需要程序员使用Java语言来进行输出,这就造成了大量代码的冗余 ...
- 学习OpenSeadragon之二 (界面缩放与平移规则设置)
OpenSeadragon入门了解请看第一篇:http://www.cnblogs.com/yingjiehit/p/4362377.html OpenSeadragon给我们提供了很多的可选界面元素 ...