Yii URL隐藏index.php
一.修改config/下的main.php里的
‘urlManager’=>array(
‘urlFormat’=>’path’,
‘showScriptName’=>false,
‘rules’=>array(
‘<controller:\w+>/<id:\d+>’=>'<controller>/view’,
‘<controller:\w+>/<[……]
一.修改config/下的main.php里的
‘urlManager’=>array(
‘urlFormat’=>’path’,
‘showScriptName’=>false,
‘rules’=>array(
‘<controller:\w+>/<id:\d+>’=>'<controller>/view’,
‘<controller:\w+>/<[……]
PDO是一个”数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。目前而言,实现”数据库抽象层”任重而道远,使用PDO这样的”数据库访问抽象层”是一个不错的选择。
PDO中包含三个预定义的类
PDO中包含三个预定义的类,它们分别是 PDO、PDOStatement 和 PDOException。
一、PDO
PDO->beginTran[……]
1. Nginx配置
在nginx.conf的server {段添加类似如下代码:
Nginx.conf代码:
location / {
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
2. 在Yii的prot[……]
Active Record(AR)是一个流行的对象-关系映射(ORM)技术。每个AR 类代表一个数据表(或视图),数据表(或视图)的列在AR 类中体现为类的属性,一个AR 实例则表示表中的一行。常见的CRUD 操作作为AR 的方法实现。因此,我们可以以一种更加面向对象的方式访问数据。$c = new CDbCriteria();是ActiveRecord的一种写法,使ActiveRecord更加灵活,而拼装sql则是最常见不过,下面看两个例子。
注意: AR 并非要解决所有数据库相关的任务。它[……]
访问控制过滤器(Access Control Filter) 访问控制过滤器是检查当前用户是否能执行访问的controller action的初步授权模式。这种授权模式基于用户名,客户IP地址和访问类型。访问控制过滤器适用于简单的验证。需要复杂的访问控制,需要使用将要讲解到的基于角色访问控制(role-based access (RBAC)). 在控制器(controller)里重载CController::filters方法设置访问过滤器来控制访问动作(看 Filter 了解更多过滤器设置信息)。[……]
开始准备
Yii提供了强大的配置机制和很多现成的类库。在Yii中使用RBAC是很简单的,完全不需要再写RBAC代码。所以准备工作就是,打开编辑器,跟我来。
设置参数、建立数据库
在配置数组中,增加以下内容:
‘components’ => array(
//……
‘authManager’=>array(
‘class’=>’CDbAuthManager’,//认证类名称[……]
登录验证
yii提供了CUserIdentity类,这个类一般用于验证用户名和密码的类.
继承后我们需要重写其中的authenticate()方法来实现我们自己的验证方法.具体代码如下:
class UserIdentity extends CUserIdentity {
private $_id;
public function authenticate() {
$record=User::model()->findByAttributes(a[……]
比较合理的做法其实是分成两个框架来布署;然而这样说法也太绝对。
事实上是针对不同系统,应采用不同的方法。如为CMS系统,则不需很复杂的权限管理,但如果有管理员与会员之分,系统又有很多设置操作,则需要前后台分离,并设置相应的权限管理。
大型的系统或是为安全因素考虑,则是布署成两个目录。
但一般的小型应用则不需要这样。
按照官方的cookebook有两种方法可选:一是modules,二是两个config。
modules的方法可参照boylee的教程[……]
首先进入GII
点击 Module Generator ,输入你后台模块的名字,比如我的是admin
生成后会在modules下面生成一个admin文件夹,由于我开启了url重写,可以通过eeice.com/admin来访问他
然后在配置文件main.php的modules里面加入
‘admin’ => array(
‘class’ => ‘application.modules.admin.AdminModule’,
),[……]
/*生成随机字符函数*/
function random($length) {
$hash=””;
$chars=”#@#&*abcdefghijklmnopqrstuvwxyz1234567890″;
$max=strlen($chars)-1;
mt_srand((double)microtime(null)*1000000); //自PHP4.2.0起不再需要使用mt_srand()或srand(),生成随机数种子,可直接使用rand()自动生成[……]