tp3.2小结

启用路由
// 开启路由 'URL_ROUTER_ON' => true,
配置路由:在模块的配置文件中使用URL_ROUTE_RULES参数进行配置(conf/config.php)
格式数组:
'URL_ROUTE_RULES'=>array(
    'news/:year/:month/:day' => array('News/archive', 'status=1'),
    'news/:id'               => 'News/read',
    'news/read/:id'          => '/news/:1',
),
路由规则的定义格式为: '路由表达式'=>'路由地址和传入参数' 或者array('路由表达式','路由地址','传入参数')
路由表达式包括规则路由和正则路由的定义表达式,只能使用字符串。
数据的创建
// 获取表单的POST数据
$data['name'] = $_POST['name'];
$data['email'] = $_POST['email'];
 // 更多的表单数据值获取 //……
创建数据对象create
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->create($data);

创建新的数据对象
// 从User数据对象创建新的Member数据对象
$User = stdClass();
$User->name = 'ThinkPHP';
$User->email = 'ThinkPHP@gmail.com';
$Member = M("Member");
$Member->create($User);

创建完成的数据可以直接读取和修改,例如:

$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->create($data);
// 创建完成数据对象后可以直接读取数据
echo $User->name;
echo $User->email;
// 也可以直接修改创建完成的数据
$User->name = 'onethink'; // 修改name字段数据
$User->status = 1; // 增加新的字段数据

 字段合法性过滤    field方法

$data['name'] = 'thinkphp';
$data['email'] = 'thinkphp@gmail.com';
$data['status'] = 1;
$data['test'] = 'test';
$User = M('User');
$data = $User->field('name,email')->create($data);
dump($data);  
数据写入 add()方法
$User = M("User"); // 实例化User对象
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->add($data);

如果在add之前已经创建数据对象的话(例如使用了create或者data方法),add方法就不需要再传入数据了。 使用create方法的例子

$User = M("User"); // 实例化User对象
// 根据表单提交的POST数据创建数据对象
if($User->create()){
    $result = $User->add(); // 写入数据到数据库 
    if($result){
        // 如果主键是自动增长型 成功后返回值就是最新插入的值
        $insertId = $result;
    }
}  

 批量写入

// 批量添加数据
$dataList[] = array('name'=>'thinkphp','email'=>'thinkphp@gamil.com');
$dataList[] = array('name'=>'onethink','email'=>'onethink@gamil.com');
$User->addAll($dataList);  
读取数据 读取数据是指读取数据表中的一行数据(或者关联数据),主要通过find方法完成,
$User = M("User"); // 实例化User对象
// 查找status值为1name值为think的用户数据 
$data = $User->where('status=1 AND name="thinkphp"')->find();
dump($data);

getField方法还可以支持限制数量,例如:

$this->getField('id,name',5); // 限制返回5条记录
$this->getField('id',3); // 获取id数组 限制3条记录  

 数据更新 save方法

$User = M("User"); // 实例化User对象
// 要修改的数据对象属性赋值
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->save($data); // 根据条件更新记录
也可以改成对象方式来操作:
$User = M("User"); // 实例化User对象 // 要修改的数据对象属性赋值 $User->name = 'ThinkPHP'; $User->email = 'ThinkPHP@gmail.com'; $User->where('id=5')->save(); // 根据条件更新记录
更新个别字段 setField方法。
$User = M("User"); // 实例化User对象
// 更改用户的name值
$User-> where('id=5')->setField('name','ThinkPHP');

数据删除

$Form = M('Form');
$Form->delete(5);
//表示删除主键为5的数据,delete方法可以删除单个数据,也可以删除多个数据,这取决于删除条件,例如:
$User = M("User"); // 实例化User对象
$User->where('id=5')->delete(); // 删除id为5的用户数据
$User->delete('1,2,5'); // 删除主键为1,2和5的用户数据
$User->where('status=0')->delete(); // 删除所有状态为0的用户数据  

模板赋值   assign方法 assign方法必须在display和show方法之前调用

$this->assign('name',$value);
// 下面的写法是等效的
$this->name = $value;  

模板渲染  display方法

$this->display();

  




原文地址:https://www.cnblogs.com/sw-3/p/9844014.html