手机版

Yii PHP框架实用入门教程(详细介绍)

时间:2021-11-19 来源:互联网 编辑:宝哥软件园 浏览:

说明:由于最近的工作关系,需要开发一个运行在Linux下的Web Application,需要了解和评估一些流行的PHP Frameworks。下面这篇文章是作者最近学习一个比较新的PHP框架的经验和操作步骤,因为官方手册比较晦涩(尤其是中文),他在开始工作之前尝试着从头到尾看了一遍。看了一大半,发现还是看不懂,干脆先下手为强。Yii是一个基于组件、面向对象、高性能的PHP框架,用于开发大规模Web应用程序。它最大限度地提高了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文件。由于需要在Yii中打开pdo和pdo_mysql,请务必取消运行环境使用的php.ini中扩展名=php_mysql.dll、扩展名=php_pdo.dll和扩展名=php_pdo_mysql.dll的注释。Apache网站的根路径是D:/wwwroot。在这个根路径下创建一个名为YiiDemo的文件夹,解压从互联网下载的Yii压缩包,复制到文件夹D:/wwwroot/YiiDemo。文件结构如下:

注意:上图中的演示、框架和需求都是Yii压缩包中的文件夹,其他的文件和文件夹都是我使用Eclipse的时候创建的。此外,在文件夹d :/wwwroot/yiidemo/framework中还有一个yiic.bat文件,可以帮助我们快速生成网站架构和MVC相关文件。另外,本例中MySQL和PHP都是用utf8编码的,不建议使用gb2312编码,这样可以显示的汉字太少,不支持其他东亚语系,甚至连不常见点的繁体中文都无法显示,但是utf8可以解决这个问题。创建网站的初始结构并启动Windows命令行程序(在开始菜单上找到“运行”,然后输入“cmd”并按回车键),可以看到如下命令行窗口:

在命令行模式下切换到Yii的框架目录执行yiic命令(yiic.bat实际执行),如下:

看到上图所示的信息后,我们可以使用yiic创建一个网站结构。在这个例子中,我们在D:/wwwroot/yi idemo/framework下创建了一个网站(注意这个网站在Apache中的根路径是d :/wwwroot),网站名称是study。在d :/wwwroot/yi idemo/framework中手动创建研究文件夹,然后使用以下命令创建网站:yiic webapp网站路径,如下图所示:

输入创建网站的命令后,会看到上图所示的提示。键入“y”后,您将在目录D:/wwwroot/YiiDemo/study中创建网站的框架,如下图所示:

根据我的机器配置,现在可以看到Yii框架的雏形,网址是http://localhost/yiidemo/study/index . PHP,按照默认配置,生成的MVC文件还不能使用数据库。如果您想使用数据库进行练习,您需要更改配置,打开文件夹d :/wwwroot/yiidemo/study/protected/config中的main.php文件,并更改组件中的配置。参数“db”已被注释掉。按如下方式设置“db”参数:复制代码如下:“db”=array(' connectionstring '=' MySQL 3360 host=localhost;用dbname=study ',' username'=' root ',' password'=' jeri ',),保存后就可以连接到MySQL数据库了,在实际使用中要根据自己的实际情况进行配置。我们将继续使用yiic作为命令行工具,通过cd将工作路径切换到文件夹D:/wwwroot/YiiDemo/study,然后在命令行上创建模型和查看文件。如下:

需要注意的是,如上图所示,由于yiic.bat文件在文件夹d :/wwwroot/YiiDemo/framework中,当前命令行的工作路径为D:/wwwroot/YiiDemo/study,所以在运行yiic时建议使用全路径。

可以使用yiic shell命令进入shell命令行,在命令行上看到的输入提示变为“”,通过键入模型表的名称,将创建与表对应的模型文件。上图下方是成功使用“模型用户”后与上图对应的情况。也可以使用crud创建相应的coltroller和view文件(crud分别是create/read/update/delete的缩写,表示数据库的添加、删除和修改的常用操作),如下图所示:

例如,在为tables用户和userlist使用model和crud命令后,我们可以在浏览器中查看这些文件。例如,要查看userlist表中的数据,我们可以在浏览器中输入http://localhost/yi idemo/study/index . PHP。R=userlist,见下图:

可以看到,虽然MySQL和PHP都使用了utf8编码,但是数据库中的RealName字段因为是中文数据,所以无法正常显示。发生这种情况是因为默认字符集用于连接MySQL。在PHP中直接连接MySQL时,如果使用utf8编码,我们会在PHP代码中进行如下设置:MySQL _ query(' set name ' utf8 ' ');然而,Yii却没有这样的机会。我们可以在设置数据库连接字符串时指定用来连接数据库的字符集,如下所示:复制代码如下: ' db '=array(' connectionstring '=' MySQL 3360 host=localhost;Dbname=study ',' username'=' root ',' password'=' jeri ',' charset'=' utf8 ',//使用charset作为utf8),这样可以正常显示。当然,您也可以更改全局配置,即更改文件夹d :/wwwroot/yiidemo/framework/db下的CDbConnection.php文件中的public $ charset更改为public $ charset=' utf8也可以正常显示,如下图所示:

好了,到目前为止还没有写一行代码,但是已经完成了一个网站的总体框架,可以初步实现添加、删除、修改、检查等功能。虽然可以通过更改所有配置在数据库中显示中文,但不建议这样做。非常感谢天堂国王的提示。

版权声明:Yii PHP框架实用入门教程(详细介绍)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。