ホームページ > php教程 > php手册 > PHP サンプル チュートリアル (1): PHP ベースのマイクロブログ サービスの構築

PHP サンプル チュートリアル (1): PHP ベースのマイクロブログ サービスの構築

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-21 08:56:46
オリジナル
795 人が閲覧しました

注意を払ったことがある人なら、Twitter が Web 2.0 の世界で最大のセンセーションの 1 つであることをご存知でしょう。簡単に言うと、Twitter (Twitter.com で利用できるサービス) は、ユーザーが「今何をしているの? 「どうすればいいの?」そんな疑問。ユーザーは興味のある人をフォローしたり、自分のフォロワーを持つこともできます。このようにして、メッセージをフォロワーに投稿したり、広く共有したりできます。 Twitter アカウントを何気なく見ると、ユーザーは日常生活 (例: 「サンドイッチを食べています」) から非日常的な話題まで、さまざまな話題について頻繁にツイートしていることがわかります。画像、メディア ファイル、ログへのリンクが埋め込まれていることがよくあります。これらの URL は、主に投稿の合計文字数を 140 文字未満に抑えるために、TinyURL などのサービスによって短縮されることがよくあります。

多くの人が Twitter を利用し、短い形式を芸術形式にし、他のユーザーと会話するためにさえ使用しています (コメントを @user に送信するなど)。この単純な出発点から、Twitter 対応のモバイル アプリやその他のツールが多数登場しました。現在では、最も面白く、最も注目に値し、最も有益なツイートや、さまざまな Twitter アプリケーションのステータスを追跡するオンライン アプリケーションに対する賞品も用意されています。

LinkedIn や Facebook などの他の多くのサイトやサービスでは、ユーザーが Twitter をモデルにした方法で現在のステータスを更新できるようになりました。つまり、Facebook でのステータス更新にはショート メッセージを使用する必要があります。もちろん、ステータスは通常、「今何をしていますか?」などの質問に答えます。

自分のサイトにマイクロブログやステータス更新ツールを追加するのに多くの作業は必要ありませんが、ユーザーは楽しく簡単にコミュニケーションをとることができます。この記事の目的は、これを達成する方法を示すことです。ただし、最初にあなたについていくつかの仮定を立てる必要があります。

まず、PHP と MySQL についてある程度の知識があることを前提としています。また、PHP および MySQL を実行しているローカル Apache Web サーバーにアクセスできることを前提としています。この記事では、開発環境全体を 1 つのパッケージにラップする無料のプログラムである Macintosh、Apache、MySQL、および PHP (MAMP) を使用して MacBook 製品を開発しました。ただし、Microsoft® Windows® または Linux® 上では問題なく開発できるはずです。最後に、既に何人かのユーザーがいる正常に動作するアプリケーションがあり、何らかの方法でそのアプリケーションにマイクロブログやツイートを追加する計画があるとします。これを行うために、アプリのユーザー中心の側面 (ログイン、個人ファイルの管理など) を簡素化し、投稿に焦点を当てました。

アプリケーションのバックエンドの設計 要するに、Twitter サービスはユーザーとメッセージという 2 つの用語を中心にしています。アプリケーションを構築し、そのアプリケーションに Twitter のようなサービスを追加したい場合は、ユーザー管理機能がすでに導入されている可能性があります。まだ行っていない場合は、データベース テーブル (主キー、通常は整数)、ユーザー名 (これも一意)、電子メール アドレス、パスワードなどを使用して各ユーザーを識別する何らかの方法が必要です。

ツイート (つまり、投稿) は、投稿テーブルに保存されます。各投稿には、主キー (ある種の連続整数)、投稿を投稿したユーザーを指す外部キー関係、および投稿自体 (投稿に限定されます) があります。特定の数字文字)と日付/時刻スタンプ。

最もわかりにくいのは、ユーザーのフォロー関係を示すデータベース テーブルです。ここで必要なのは、アプリケーションがフォロワーのリストを迅速に作成し、ユーザーをフォローするように登録した他のユーザーに情報を簡単に転送できるように、ユーザー ID とフォロワー ID を記録する何らかの方法です。

これらの内容を理解したら、これら 3 つのデータベース テーブルの作成を開始できます。リスト 1 の SQL コードを使用して、最初のテーブルである users テーブルを作成します (すでに users テーブルがある場合は、この手順をスキップできます)。


リスト 1. users テーブル
				<br/>CREATE TABLE `users` (<br/>`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,<br/>`username` VARCHAR( 255 ) NOT NULL ,<br/>`email` VARCHAR( 255 ) NOT NULL ,<br/>`password` VARCHAR( 8 ) NOT NULL ,<br/>`status` ENUM( 'active', 'inactive' ) NOT NULL<br/>) ENGINE = MYISAM ;<br/>
ログイン後にコピー

以下は 2 番目のテーブル、posts テーブルです。


リスト 2. 投稿テーブル
				<br/>CREATE TABLE `posts` (<br/>`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,<br/>`user_id` INT NOT NULL ,<br/>`body` VARCHAR( 140 ) NOT NULL ,<br/>`stamp` DATETIME NOT NULL<br/>) ENGINE = MYISAM ;<br/>
ログイン後にコピー
リスト 3 は最後のテーブル、次のテーブルを示しています。このテーブルには 2 つの主キーがあることに注意してください。


リスト 3. 次の表

然后,先创建一个名为 header.php 的文件,将所有用于 MySQL 的连接字符串放到该文件中。如果已经有一个这样的文件,可以跳过这一步。请务必在各处都包括这个文件,因为将来需要用到它。清单 4 展示了这个文件的内容。


清单 4. 样例 header.php 文件
				<br/>$SERVER = 'localhost';<br/>$USER = 'username';<br/>$PASS = 'password';<br/>$DATABASE = 'microblogger';<br/>   <br/><br/>if (!($mylink = mysql_connect( $SERVER, $USER, $PASS))){<br/>	echo  "<h3>Sorry, could not connect to database.</h3><br/><br/>	Please contact your system's admin for more help\n";<br/>	exit;<br/>}<br/><br/>mysql_select_db( $DATABASE );<br/>
ログイン後にコピー

请记住,还可以随意将任何其他类型的安全检查添加到这个 header.php 文件中。例如,可以检查一个会话变量中是否设置了一个用户 ID(表明该用户已经登录)。如果用户没有登录,那么可以将用户重定向到登录页面。本文不会深入讨论这一点,不过需要时可以很容易地添加安全检查。



関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート