Maison  >  Article  >  développement back-end  >  Méthode pour implémenter un forum de discussion basé sur le framework thinkPHP

Méthode pour implémenter un forum de discussion basé sur le framework thinkPHP

不言
不言original
2018-05-05 15:25:342737parcourir

Cet article présente principalement la méthode d'implémentation du babillard électronique basé sur le framework thinkPHP. Il analyse brièvement le processus de mise en œuvre du babillard électronique dans le framework thinkPHP et le code de base associé du contrôleur et du modèle. Les amis dans le besoin peuvent s'y référer

.

L'exemple de cet article décrit la méthode de mise en œuvre d'un forum de discussion basé sur le framework thinkPHP. Je le partage avec vous pour votre référence. Les détails sont les suivants :

Après une journée de lutte, la version conceptuelle du forum de messages de THINKPHP Xiao Deng est finalement sortie

En fait, THINKPHP est se développe vraiment très rapidement. En tant que société Internet, il n'y a rien de mal à ceux qui "déplacent des briques" et s'engagent dans ce genre de travail d'agriculteur pur code.

Le code implémente les fonctions suivantes

1.

2. Fonction de vérification.

3. Fonction d'affichage de pagination.

Je viens d'écrire quelques lignes de code (PS : Le code de conception de page ne compte pas, même le code du contrôleur et du modèle)

Maintenant je vais publier le code du contrôleur, à propos de THINKPHP, je ne développerai pas les règles de codage, lisez simplement le manuel de 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(&#39;<font color=red>标题已经存在</font>&#39;);
      } else {
        $this->success(&#39;标题可以使用!&#39;);
      }
    } else {
      $this->error(&#39;标题必须&#39;);
    }
  }
}

Ce qui suit est le code pour vérifier le modèle

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

thinkphp a une chose à noter est que dans les opérations CURD, les noms de table sont requis.

Recommandations associées :

Création d'un service OAuth20 basé sur le framework ThinkPHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn