入门学习进程 [ 新手入门 ]
一、使用Yii创建WEBAPP 1、首先需要安装apache与PHP.并配置其环境: 本例中:apache的webroot位于E:\webPHP,在http.conf文件中后增加如下配置代码:
Alias /web "E:/webPHP"
<Directory "E:/webPHP">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
2、复制yii framework的framework文件夹到E:webPHP目录下。 单击开始运行:CMD
E:
cd webPHP\framework
yiic webapp "/webPHP/"
输入:yes,回车执行完成后,Yii项目已经创建完成。
3、修改数据库连接文件
数据库连接位于:protected\config
目录下,此目录下共有3文件:console.php/main.php
/test.php
Console.php
文件:
把
'db'=>array(
'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
),
注释掉。 取消
'db'=>array(
'connectionString' => 'mysql:host=localhost;
),
的注释。 注意:如果mysql不是默认3306时请在localhost后加入端口。如localhost:3307; Main.php文件使用以上方法进行修改。Test.php可以不理。
4、配置gii. 配置gii是为了自动生成models-view-control. 此配置需要在protected\config\main.php文件中完成。 取消
'modules'=>array(
// uncomment the following to enable the Gii tool
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'123456', //登录gii时所用的密码。Gii完成后建议把此段再注释掉。
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('192.168.1.228','::1'), //此处为需要访问Gii的客户机IP地址。
),
),
的注释。Gii使用方法略。
5、修改项目的默认语言。
主要修改controllers下的control文件,如默认的:SiteController.php
打开此文件,在类块中加入以下代码:
public function init()
{
//author XCJ
//通过浏览器来识别语言
$lang = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
Yii::app()->language = strtolower(str_replace('-', '_', $lang[0]));
Yii::app()->sourceLanguage= strtolower(str_replace('-', '_', $lang[0]));
}
修改语言是为了使用多语言。注意每个control都要加入。
6、多语言的使用。
在framework/messages/目录下有多国语言的文件夹。如zh_cn简体中文。可以在此处进行中英对照:
如:'Incorrect username or password.' => '用户名或密码出错!',
备注:Yii.php
、ZII.php
为系统自带,建议只在zii.php
中进行语言对照。
其调用代码:
Yii:t('zii','Incorrect username or password.');
7、用户登录与验证:
修改:UserIdentity
类,此类位于protected\components
目录下。此处修改了加密算法与我公司的ERP加密算法保持一致。
public function encrypt($password)
{
//@Author XCJ
//对密码明文进行加密
return base64_encode(sha1($password, true));
}
public function authenticate()
{
//@Author XCJ
//用户登录验证
$user=new User();
$user->setAttribute('username',$this->username);
$user->setAttribute('password',$this->encrypt($this->password));
$resultCount=$user->search()->getTotalItemCount();
if($resultCount<=0)
{
$this->errorCode=self::ERROR_PASSWORD_INVALID;
}
else
{
$this->errorCode=self::ERROR_NONE;
}
//
// $users=array(
// username => password
// 'demo'=>'demo',
// 'admin'=>'admin',
// );
// if(!isset($users[$this->username]))
// $this->errorCode=self::ERROR_USERNAME_INVALID;
// else if($users[$this->username]!==$this->password)
// $this->errorCode=self::ERROR_PASSWORD_INVALID;
// else
// $this->errorCode=self::ERROR_NONE;
return !$this->errorCode;
}
共 3 条回复
-
yi1242200713 回复于 2012-11-01 17:53 举报
我试试看
-
cuixiaona_lucky 回复于 2012-11-08 16:25 举报
:)。。。。。。
jonson.xu
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱30
- 威望0
- 积分30