Maison >développement back-end >tutoriel php >Comment utiliser PHP et Typecho pour créer un site Web de partage de nourriture

Comment utiliser PHP et Typecho pour créer un site Web de partage de nourriture

WBOY
WBOYoriginal
2023-07-20 22:49:581358parcourir

Comment utiliser PHP et Typecho pour créer un site Web de partage de nourriture

Introduction :
La nourriture est devenue un élément indispensable de la vie des gens. Les gens apprécient non seulement le plaisir gustatif apporté par la nourriture, mais sont également disposés à partager leurs idées culinaires et leurs aliments. expériences. Créer un site Web de partage de nourriture permet aux gens de communiquer, de partager et d'obtenir plus d'informations sur la nourriture. Cet article expliquera comment utiliser PHP et Typecho pour créer un site Web de partage de nourriture et fournira des exemples de code à titre de référence.

1. Introduction à Typecho
Typecho est un moteur de blog PHP simple, rapide et open source. Il est privilégié par la majorité des développeurs pour son code rationalisé, ses performances efficaces et son riche écosystème de plug-ins. Typecho prend en charge le développement de thèmes et de plug-ins personnalisés, ce qui est très approprié pour créer divers blogs personnels et sites Web communautaires.

2. Préparation de l'environnement

  1. Environnement serveur : environnement PHP, base de données MySQL.
  2. Installez Typecho : téléchargez le code source de Typecho sur le serveur, créez la base de données et complétez la configuration appropriée.

3. Établir des tables de base de données
Les sites Web de partage d'aliments doivent stocker des données telles que les utilisateurs, les articles et les commentaires, la structure de table correspondante doit donc être créée dans la base de données MySQL. Voici un exemple de code pour créer un tableau :

CREATE TABLE `typecho_users` (
  `uid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(32) NOT NULL,
  `password` VARCHAR(64) NOT NULL,
  `mail` VARCHAR(64) NOT NULL,
  `screenName` VARCHAR(32) NOT NULL,
  `created` INT(10) UNSIGNED DEFAULT 0,
  `activated` INT(10) UNSIGNED DEFAULT 0,
  `group` VARCHAR(16) NOT NULL DEFAULT 'subscriber',
  PRIMARY KEY (`uid`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;

CREATE TABLE `typecho_contents` (
  `cid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `title` TEXT NOT NULL,
  `text` MEDIUMTEXT NOT NULL,
  `created` INT(10) UNSIGNED DEFAULT 0,
  `modified` INT(10) UNSIGNED DEFAULT 0,
  `type` VARCHAR(16) NOT NULL DEFAULT 'post',
  `status` VARCHAR(16) NOT NULL DEFAULT 'publish',
  `authorId` INT(10) UNSIGNED DEFAULT 0,
  `template` VARCHAR(32) DEFAULT NULL,
  PRIMARY KEY (`cid`),
  KEY `type` (`type`),
  KEY `status` (`status`),
  KEY `authorId` (`authorId`),
  FULLTEXT KEY `text` (`text`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;

CREATE TABLE `typecho_comments` (
  `coid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `cid` INT(10) UNSIGNED DEFAULT 0,
  `created` INT(10) UNSIGNED DEFAULT 0,
  `author` VARCHAR(32) NOT NULL,
  `authorId` INT(10) UNSIGNED DEFAULT 0,
  `ownerId` INT(10) UNSIGNED DEFAULT 0,
  `mail` VARCHAR(64) DEFAULT NULL,
  `url` VARCHAR(64) DEFAULT NULL,
  `ip` VARCHAR(64) DEFAULT NULL,
  `agent` VARCHAR(255) DEFAULT NULL,
  `text` MEDIUMTEXT NOT NULL,
  `type` VARCHAR(16) NOT NULL DEFAULT 'comment',
  `status` VARCHAR(16) NOT NULL DEFAULT 'approved',
  `parent` INT(10) UNSIGNED DEFAULT 0,
  PRIMARY KEY (`coid`),
  KEY `created` (`created`),
  KEY `authorId` (`authorId`),
  KEY `ownerId` (`ownerId`),
  KEY `status` (`status`),
  KEY `cid` (`cid`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;

CREATE TABLE `typecho_relationships` (
  `cid` INT(10) UNSIGNED NOT NULL DEFAULT 0,
  `mid` INT(10) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`cid`,`mid`),
  KEY `mid` (`mid`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;

4. Créez un modèle de thème
Le modèle de thème de Typecho détermine l'apparence et la mise en page du site Web de partage de nourriture. Voici un exemple simple de code de modèle de thème :

<?php
/**
 * 美食分享主题模板
 *
 * @package custom
 */

if (!defined('__TYPECHO_ROOT_DIR__')) exit;
$this->need('header.php');
?>

<div class="content">
  <?php while($this->next()): ?>
    <article class="post">
      <h2 class="title"><a href="<?php $this->permalink() ?>"><?php $this->title() ?></a></h2>
      <p class="meta"><?php $this->date('F j, Y'); ?></p>
      <div class="entry">
        <?php $this->content('- 阅读全文 -'); ?>
      </div>
    </article>
  <?php endwhile; ?>
</div>

<?php $this->need('footer.php'); ?>

5. Affichage de la première page
Les sites Web de partage de nourriture doivent afficher des images et des descriptions de nourriture téléchargées par les utilisateurs. Le code suivant est un exemple d'affichage de la première page :

<?php if ($this->is('post')): ?>
  <h2 class="post-title"><?php $this->title() ?></h2>
  <div class="post-meta">
    <span class="time"><?php $this->date('F j, Y'); ?></span>
  </div>
  <div class="post-content">
    <?php $this->content(); ?>
  </div>
<?php else: ?>
  <?php $this->widget('Widget_Archive@index', 'pageSize=10&type=post')->to($posts); ?>
  <?php while($posts->next()): ?>
    <div class="post">
      <h2 class="post-title"><a href="<?php $posts->permalink() ?>"><?php $posts->title() ?></a></h2>
      <p class="post-meta"><span class="time"><?php $posts->date('F j, Y'); ?></span></p>
    </div>
  <?php endwhile; ?>
<?php endif; ?>

6. Utilisateur. inscription et connexion
Afin de permettre aux utilisateurs de publier leur propre partage de nourriture, nous devons fournir des fonctions d'enregistrement et de connexion des utilisateurs. Le code suivant est un exemple d'enregistrement et de connexion d'un utilisateur :

<?php if($this->user->hasLogin()): ?>
  <!-- 用户已登录,显示用户信息和注销按钮 -->
  <p><?php $this->user->screenName(); ?>,欢迎回来!</p>
  <a href="<?php $this->options->logoutUrl(); ?>">注销</a>
<?php else: ?>
  <!-- 用户未登录,显示登录表单 -->
  <form method="post" action="<?php $this->options->loginAction(); ?>">
    <p><label for="name">用户名:</label><input type="text" name="name" id="name" /></p>
    <p><label for="password">密码:</label><input type="password" name="password" id="password" /></p>
    <p><button type="submit">登录</button></p>
  </form>
<?php endif; ?>

7. Implémentation de la fonction de partage de nourriture
Une fois l'utilisateur connecté, nous devons fournir un formulaire permettant aux utilisateurs de publier un partage de nourriture. Le code suivant est un exemple de la fonction de partage de nourriture :

<?php if($this->user->hasLogin()): ?>
  <!-- 用户已登录,显示美食分享表单 -->
  <form method="post" action="<?php $this->options->index('/action/food-share'); ?>">
    <p><label for="title">标题:</label><input type="text" name="title" id="title" /></p>
    <p><label for="content">内容:</label><textarea name="content" id="content" rows="5"></textarea></p>
    <p><label for="image">图片:</label><input type="file" name="image" id="image" /></p>
    <p><button type="submit">分享</button></p>
  </form>
<?php else: ?>
  <p>请先<a href="<?php $this->options->loginUrl(); ?>">登录</a>后再分享美食。</p>
<?php endif; ?>

8. Résumé
Construire un site Web de partage de nourriture via PHP et Typecho n'est pas compliqué. Il vous suffit de terminer la préparation de l'environnement, d'établir des tables de base de données, de créer des modèles de thème et d'implémenter les éléments associés. fonctions. Grâce à l'introduction de cet article, j'espère qu'il pourra aider les lecteurs à comprendre dans un premier temps les étapes de base et des exemples de codes pour utiliser Typecho pour développer un site Web de partage de nourriture. Si nécessaire, vous pouvez étendre et personnaliser l'exemple de code en fonction des besoins réels pour répondre à des besoins plus personnalisés.

Références :

  1. Documentation officielle de Typecho : https://typecho.org/
  2. Communauté de communication de Typecho : https://bbs.haobird.com/

Ce qui précède est l'utilisation de PHP et Typecho pour créer un site Web de partage de nourriture Une brève introduction, j'espère qu'elle sera utile aux lecteurs. Je vous souhaite de créer un site Web unique de partage de nourriture !

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