ホームページ  >  記事  >  バックエンド開発  >  php を使用して簡単な個人ブログ システムを作成してみませんか?

php を使用して簡単な個人ブログ システムを作成してみませんか?

WBOY
WBOYオリジナル
2016-06-17 08:31:523145ブラウズ

WordPressのような既製のツールを使うのではなく、手で書きたいというのが主な理由で、夏休みに勉強したPHPの基礎知識を定着させるためです。
最初にデータテーブルを構築する必要があります。一般的に、テーブルはいくつに分割されますか?管理者情報テーブル、ブログ投稿テーブル、コメントテーブル、記事分類テーブル...ここでどのテーブルを作成すればよいのかわからないような気がします。多くのブログにも記事タグ、記事アーカイブ、閲覧リスト、人気コメントがあるようです。 、などのこと。
ブログ全体では MVC メソッドを使用していますが、thinkphp などのフレームワークを使用したことはありません。具体的な内容について大まかに説明できる人はいないでしょうか。構造。

返信内容:

ただ練習しているだけなら。提案:
1. github にアクセスして、適切なプロジェクトを見つけてソース コードを読みます。
2. 適切なチュートリアルを見つけて練習します。 データベースはすべてのデータの基礎です。独自のニーズに従って設計してください
まず、製品設計から始めて、プログラムにどのような機能ポイントが含まれるかを考える必要があります (バックエンド管理? マルチユーザー共存? マルチレイヤー カテゴリ) ? 1 つの記事に複数のカテゴリがありますか?
たとえば、マルチユーザー システムが必要な場合は、メンバー テーブルが必要です。バックグラウンド管理が必要な場合は、管理者テーブルを個別に作成するか、管理者がメンバー テーブルも持つかの 2 つのオプションがあります。では、member_type テーブルを作成してユーザー タイプを定義できます。設計されたデータベースが製品のニーズを満たすことができる限り、基本的な問題はすべてこの種の問題に対応します。さらに一歩進んで、ユーザーはフィールドをカスタマイズできます。これには、ユーザー定義の属性をキー->値の形式で保存する member_custom テーブルなどが必要です。
最初は設計が多少ぎこちなくても問題ありません。重要なのは、データベースなどの比較的厳格なデータ保存形式の限界を認識できるということです。ニーズが変化すると、作成する必要があるかもしれません。それらを満たすためにさらに変更を加えます。いわゆる経験とは、将来この種の作業を再度実行するときに、これらの設計の長所と短所を理解し (より柔軟な設計とは、プログラムにますます賢いコードが必要になることを意味します)、それに応じた選択を行うことを意味します。 。 私はついに、自分に答える資格のある質問を見つけたことがわかりました。
まず、始めたばかりの場合は、理解できない可能性があるため、他の人の作品を変更しない方が良いと思います。

今学期はソフトウェアの授業があり、私のグループはブログを書くことにしました。私は mvc フレームワークの基本的なプロセス (特定の mvc フレームワークではありません)、php の基本的な知識、データベース操作、 html+ CSS の部分的な知識。
それで、グループでしたが一人でやり始めました。
最初にフレームワークを作成します:
index.php エントリ ファイル: パス定数、自動読み込み、および配布パラメーター。
フレームワーク ファイル: データベース操作、シングルトン モデルを生成するためのファクトリ モード、基本コントローラー、および基本モデル クラスが含まれています。
アプリケーション ファイル: プラットフォーム フォルダー: モデル、ビュー、コントローラー。
ブログはフロントエンドとバックエンドに分割する必要があります。
フロントデスクは主に訪問者が見るもので、ホームページ、記事共有、メモ共有、自己紹介、掲示板、検索ボックス、記事アーカイブ、タグバーなどの機能です。 (コアとなるのは、mysql クエリ、フィルタリングされた表示、フロントエンドの植字、SQL インジェクションなどです)
バックグラウンドは管理者の操作です: ログイン、セッション制御、記事の CRUD、メモの CRUD、掲示板の CRUD、終了とその他の機能。 (バックエンドの中核、データベースの操作、データのフィルタリング、データのエスケープ、インジェクションなど)
バックエンドで一番重要なのは、他の人のブログを見ると、記事に写真が載っていることですよね。 ? ただし、単に areatext を使用して実行することはできません。Google ではなく、Baidu で確認してください。リッチ テキスト エディターです。無料のリッチ テキスト エディターがたくさんありますので、それに従ってください。ただし、挿入されたデータを最前面に表示するときは、必ずフィルターを適用してください。コンテンツの一部ですか? 適切なフィルタリングを行うだけです。strip_tags、mb_substr などが使用できます。
それで基礎ブログも出てきましたが、まだまだ抜け道は数え切れないほどあるはずですが、これからも一緒に勉強していきましょう! データベース設計

1 ユーザーテーブル:ユーザー番号、ログイン名、パスワード、表示名、ユーザー分類番号(0:一般ユーザー、1:管理者)、その他

2 記事分類テーブル:カテゴリ番号、カテゴリ名、親カテゴリ番号(0:ルートカテゴリ(無制限レベル達成可能))、ソート、その他(表示するかどうかなど)

3 記事テーブル:記事番号、タイトル、まとめ画像、概要コンテンツ、コンテンツ、公開時刻、統計情報(閲覧数、コメントなど)、発行者(ユーザー数)、記事カテゴリ(カテゴリ番号)、キーワード(、単語1、単語2、単語3、)、並べ替え、トップ、おすすめ、その他 (表示するかどうか、コメントを許可するかどうかなど)

4 ナビゲーションテーブル: ナビゲーション番号、ナビゲーション表示名 (例: I love php)、ナビゲーション アドレス (例: php、if php フレームワークが使用されており、ユーザー アクセスは test.com/php で実現でき、プログラムは自動的に実行します。このナビゲーションに対応する記事カテゴリのデータを読み込みます)、記事カテゴリ(カテゴリ番号)


5 コメントテーブル:コメント番号、コメント内容、公開時刻、記事番号、親コメント番号(コメント数は無制限)達成可能)、発行者番号


6 ファイル テーブル: ファイル番号、ファイル ストレージ アドレス (通常は、/file/img/1.jpg などのルート ディレクトリからの相対パス)、ファイル サイズ、ファイルタイプ (0: 画像、1: ファイル (通常はダウンロード可能な txt、rar、zip のみ)、2: 動画....)、発行者番号

7 サイト基本情報テーブル: ブラウザ タイトル、キーワード, etc..




大まかなプログラム構成

1 共通部分: ユーザーログイン、ユーザーログアウト、ユーザー個人ページ、ユーザーアップロードファイル管理など

2 バックエンド部分 (管理メンバーのみが入力可能): 上記すべてのデータベース テーブルの追加、削除、変更、確認

3 フロントデスク部分: 利用可能なすべての情報に従って記事リストと記事詳細ページを作成ナビゲーション、記事の詳細のコメントのリスト、およびコメントの追加も可能です。一般ユーザーの個人センターが表示されます (ユーザーがどの記事を読んだか、どの記事にコメントを投稿したかを確認するのに便利です)



フレーム選択

私は tp を学びましたが、私は ci を使用しています。ci は非常に簡単だと思うので、ci のマニュアルは非常によく書かれています



関係する可能性のある問題
エディター、現在はほとんどが Baidu ueditor を使用していますが、私はまだ kindeditor
を使用する際の困難は、これらのエディターには独自のユーザー ファイル管理がないことです (たとえば、ユーザーがコメントを残すエディターに画像を挿入することを選択したり、以前にアップロードした画像を選択したりできます)、この機能を実装するには、元のエディター コードを自分で変更する必要があります。 招待していただきありがとうございます。WordPress は使いたくないので、基礎知識を固めるために自分で書きたいとおっしゃっていました。
前任者の作品を書き直すことの方が、自分でいじるよりもはるかに大きな利益があることをご存知ですか? ブログのフレームワーク構造は、PHP であっても他のプログラミング言語であっても同様です。ブログ システムを独自に完成させたい場合は、比較的規模の大きい WordPress を参照することをお勧めします。まずemlogの使い方を学び、次にemlogの使い方を学びましょう。まずemlogを開発し、その後独自に開発し、エッセンスを取り入れて独自のイノベーションを追加すると、多くのメリットが得られます。 自分の能力で強力なプログラムを書くのは難しく、ましてや勉強中であれば、ニュースリリースシステムを書いてみることもできますが、主にセキュリティの点で原理は似ています。 QQ に私を追加していただければ、データベース設計ファイルをお送りします。 。 4873473。
TP3.2.3を使ってブログシステムを書いたのですが、最近YIIフレームワークを使って書き直したいと思っています。 。 世界最高のプログラマーに囲まれているかもしれないと感じていますが、共有の精神で、質問者にリンクを送り、慎重にクリックしてみます。github.com /tornadoweb/t PHP を使用する必要があるのは、データベースの出力、記事やその他のコンテンツを json 形式で出力し、js ネイティブの解析に依存する場合のみです。
コメントは、Duoshuo、QDiscuss などの外部の既製のコメント システムを参照します。

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