一、设置database:
1、主要几个要素:
<?php
return array(
'fetch'=>PDO::FETCH_CLASS,
'default'=>'mysql',
'connections'=>array(),
'migrations'=>'migrations',
'redis'=>array(),
);
?>
2、开始设置SQL(Mysql)和redis数据库:
mysql:
'connections'=>array(
'连接名'=>array(
'driver'=>'数据库类型(mysql)',
'host'=>'主机IP',
'database'=>'数据库库名',
'username'=>'数据库连接账号',
'password'=>'数据库连接密码',
'charset'=>'utf8',
'collation'=>'utf8_unicode_ci',
'prefix'=>'',
),
'连接名'=>array(),
'连接名'=>array(),
.....
)
redis:
'redis'=>array(
'cluster'=>TRUE,
'default'=>array(
'host'=>'主机IP',
'port'=>端口号,
),
),
class 类名 extends Eloquent{
protected $connection = '连接名';
protected $table = '表名';
protected $primaryKey = '主键';
const STATUS_NORMAL = 0; //正常状态
const STATUS_DELETED = -1; //已删除状态
//获取数据的方法
static public function getDataById($id){ //根据id获取表中所有数据 }
public function getXxxList(){ //根据某些条件,获得某些字段数据
$sql="select 想要获取的字段 from 表 where 条件 order by 字段
$lbs = DB::connection($this->connection)->select($sql);
return $lbs;
}
....//根据控制器所需添加函数
public function storeToCache(){ //更新到缓存中
$key = '类名':$this->id;
Cache::forever($key,$this);
}
}
根据id获取表中所有数据,此方法基本上通用,所以定义成静态方法:
static public function getDataById($id)
{
$ret = null;
if(isset($id))
{
$key = '类名:' . $id; //获取表的主键值
if(Cache::has($key)) //判断缓存中是否存在
{
$ret = Cache::get($key); //如存在,从缓存中取值
}
else{
$ret = Adversity::find($id); //如不存在,从数据库中出这一行所有字段的值
if (isset($ret))
{//找到后缓存下来,当前是直接操作数据库的
Cache::forever($key,$ret); //存到缓存中
}
}
}
return $ret; //返回数据
}
控制器在app下的Controller文件夹下:
class XXController extends BaseController{ //逻辑处理. XX自己取名
public function xxxAction(){ //xxx自己取名
$list = 对应model的类名::whereRaw($where)->orderBy('','desc')->paginate($page_rows);
$list = appends(Input::all())->links();
$data = array('list'=>$list);
return $this->view('模板引擎名',$data);
}
}
Laravel的视图一般写在模板引擎中,在app下的view文件夹下:
此处主要写视图界面UI,接收控制器传过来的数据,将数据处理并显示,或者将界面的数据更新到数据库中
五、创建路由
在路由中可以通过URL指向不同的控制器类,完成逻辑处理