jonson.xu 2012-07-18 08:49:54 3863次浏览 3条回复 0 0 0

一、使用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.phpZII.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;
}
您需要登录后才可以回复。登录 | 立即注册