>백엔드 개발 >PHP 튜토리얼 >thinkPHP Framework_php 예제를 기반으로 게시판을 구현하는 방법

thinkPHP Framework_php 예제를 기반으로 게시판을 구현하는 방법

WBOY
WBOY원래의
2016-12-05 13:28:191444검색

본 글의 예시에서는 thinkPHP 프레임워크를 기반으로 게시판을 구현하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

하루 고생 끝에 드디어 THINKPHP Xiao Deng의 메시지판 컨셉버전이 나왔습니다

사실 THINKPHP의 개발 속도는 매우 빠릅니다. 인터넷상의 "벽돌 옮기는 사람"으로서 이런 순수 코드 파머 작업에 참여하는 것은 이해할 수 있습니다.

코드는 다음 기능을 구현합니다

1. 메시지 기능.

2. 검증 기능.

3. 페이징 표시 기능.

코드 몇 줄만 작성했습니다. (PS: 페이지 디자인 코드는 포함되지 않으며 컨트롤러 및 모델 코드도 포함됩니다.)

아래 컨트롤러의 코드를 공개하겠습니다. THINKPHP의 코드 규칙에 대해서는 자세히 설명하지 않겠습니다. thinkphp 매뉴얼만 읽어보세요.

class IndexAction extends Action
{
  public function index() {
    $Form = M("word");
    // 按照id排序显示前6条记录
    import("@.ORG.Page");    //导入分页类
      $count = $Form->count();  //计算总数
      $p = new Page ( $count, 1 );
      $list=$Form->limit($p->firstRow.','.$p->listRows)->order('id desc')->findAll();
      $page = $p->show ();
      $this->assign ( "page", $page );
      $this->assign ( "list", $list );
    $this->display(); //模板调用,这个是关键。
  }
  //数据插入
  public function insert() {
    $word = D("word");
     if($vo = $word->create())
       {
         if(false !== $word->add())
        {
           $this->success("数据添加成功");
         }
         else
         {
          $this->error('数据写入错误!');
         }
       }
    else
      {
       $this->error($word->getError());
      }
  }
  //验证重复
  public function checkTitle()
  {
    if (!empty($_POST['username'])) {
      $Form = M("word");
      //getByTitle是model的获取数据根据某字段获取记录的魔术方法
      //比如getById etc getByXXX XXX大写
      if ($Form->getByUsername($_POST['username'])) {
        $this->error('<font color=red>标题已经存在</font>');
      } else {
        $this->success('标题可以使用!');
      }
    } else {
      $this->error('标题必须');
    }
  }
}

다음은 모델 검증을 위한 코드입니다

class wordModel extends Model{
  protected $_validate = array(
   array('username', 'require', '称呼必须!', 1),//1为必须验证
   array('email', 'email', '邮箱格式错误!', 2),//2为不为空时验证
   array('qq','number','QQ号错误',2),
   array('content', 'require', '内容必须',1),
   array('username','','称呼已经存在',0,'unique',1)
  );
  protected $_auto = array(
   array('datetime', 'get_date',1, 'callback'),
   array('ip','getip',1,'callback')
  );
  protected function get_date()
  {
   return date("Y-m-d H:i:s");
  }
  protected function getip()
  {
   return $_SERVER['REMOTE_ADDR'];
  }
}

Thinkphp에는 CURD 작업에서 주의할 점이 하나 있습니다. 테이블 이름이 필요합니다.

더 많은 thinkPHP 관련 컨텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "ThinkPHP 시작 튜토리얼", "ThinkPHP 템플릿 작동 기술 요약", "ThinkPHP 공통 메소드 요약", "Smarty 템플릿 기본 튜토리얼"을 확인할 수 있습니다. 및 "PHP 템플릿 기술 요약".

이 기사가 ThinkPHP 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.