ホームページ  >  記事  >  バックエンド開発  >  PHP と Typecho を使用してフードシェアリング Web サイトを構築する方法

PHP と Typecho を使用してフードシェアリング Web サイトを構築する方法

WBOY
WBOYオリジナル
2023-07-20 22:49:581338ブラウズ

PHP と Typecho を使用してフードシェアリング Web サイトを構築する方法

はじめに:
食は人々の生活に欠かせないものとなっています。人々は食べ物によってもたらされる味の楽しみを楽しむだけでなく、あなた自身の料理経験と食の経験。食品共有 Web サイトを構築すると、人々は食品に関するコミュニケーション、共有、およびより多くの情報を取得できるようになります。この記事では、PHP と Typecho を使用してフードシェアリング Web サイトを構築する方法を紹介し、参考となるコード例を示します。

1. Typecho の概要
Typecho は、シンプルで高速なオープンソースの PHP ブログ エンジンで、その合理化されたコード、効率的なパフォーマンス、豊富なプラグイン エコシステムにより、大多数の開発者に好まれています。 Typecho はカスタム テーマとプラグインの開発をサポートしており、さまざまな個人ブログやコミュニティ Web サイトの構築に非常に適しています。

2. ビルド環境の準備

  1. サーバー環境: PH​​P 環境、MySQL データベース。
  2. Typecho のインストール: Typecho のソース コードをサーバーにアップロードし、データベースを作成し、関連する設定を完了します。

3. データベース テーブルの確立
フード共有 Web サイトではユーザー、記事、コメントなどのデータを保存する必要があるため、対応するテーブル構造を MySQL データベースに作成する必要があります。以下は、テーブルを作成するためのサンプル コードです。

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. テーマ テンプレートを作成します。
Typecho のテーマ テンプレートは、フード シェアリング Web サイトの外観とレイアウトを決定します。以下は、簡単なサンプル テーマ テンプレート コードです:

<?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. フロント ページ表示
食品共有 Web サイトでは、ユーザーがアップロードした食べ物の写真と説明を表示する必要があります。次のコードは、フロント ページ表示の例です。

<?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. ユーザー登録とログイン
ユーザーが自分のフードシェアリングを公開できるようにするために、ユーザー登録とログイン機能を提供する必要があります。以下のコードは、ユーザー登録とログインの例です。

<?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. フードシェア機能の実装
ユーザーがログインした後、ユーザーがフードシェアを投稿するためのフォームを提供する必要があります。以下のコードはフードシェアリング機能の例です:

<?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. まとめ
PHPとTypechoを使ってフードシェアリングサイトを構築するのは複雑ではなく、環境準備とデータベース構築だけで完了します。テーブルを作成し、テーマ テンプレートを作成し、関連する Just 関数を実装します。この記事の紹介を通じて、読者が Typecho を使用してフードシェアリング Web サイトを開発するための基本的な手順とサンプル コードを最初に理解するのに役立つことを願っています。必要に応じて、実際のニーズに応じてサンプル コードを拡張およびカスタマイズし、より個別のニーズを満たすことができます。

参考資料:

  1. Typecho 公式ドキュメント: https://typecho.org/
  2. Typecho コミュニケーション コミュニティ: https://bbs.haobird.com/

上記は、PHP と Typecho を使用してフードシェアリング Web サイトを作成する方法を簡単に紹介したもので、読者の参考になれば幸いです。ユニークな食品共有ウェブサイトを構築してください。

以上がPHP と Typecho を使用してフードシェアリング Web サイトを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。