インターネットの急速な発展に伴い、Web アプリケーションのユーザー エクスペリエンスがますます重要な要素になってきています。 Ajax テクノロジーを使用して同様の機能を実装するのが一般的な方法です。この記事では、ThinkPHP フレームワークを使用して、Ajax ベースの like 関数を迅速に実装する方法を紹介します。
1. 開発環境の準備
この記事では ThinkPHP5.1 フレームワークを使用していますが、PHP5.5 以降と MySQL データベースをインストールし、ThinkPHP が実行できる環境であることを確認する必要があります。
2. データベース テーブルの作成
MySQL で次のテーブルを作成します:
CREATE TABLE `likes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content_id` int(11) NOT NULL COMMENT '点赞的文章id', `user_id` int(11) NOT NULL COMMENT '点赞的用户id', `created_time` int(11) NOT NULL DEFAULT '0' COMMENT '点赞时间戳', `updated_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间戳', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
3. コントローラー層
LikesController.php コントローラーを作成し、次のコードは Ajax リクエストを取得します。
namespace app\index\controller; use think\Controller; use think\Db; class LikesController extends Controller { public function like() { $content_id = input('post.content_id'); $user_id = input('post.user_id'); $created_time = time(); $updated_time = time(); $data = [ 'content_id' => $content_id, 'user_id' => $user_id, 'created_time' => $created_time, 'updated_time' => $updated_time, ]; $result = Db::name('likes')->insert($data); if ($result) { return json(['code' => 200, 'msg' => '点赞成功']); } else { return json(['code' => 500, 'msg' => '点赞失败']); } } }
4. ビュー レイヤー
index.html フロントエンド ページを作成し、jQuery を使用してユーザーのクリック イベントを監視し、Ajax リクエストをサーバーに送信します。
<!DOCTYPE html> <html> <head> <title>点赞</title> <meta charset="utf-8"> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> </head> <body> <div id="like_button" data-content-id="1" data-user-id="1">点赞</div> </body> <script type="text/javascript"> $(document).ready(function () { $('#like_button').click(function () { var content_id = $(this).data('content-id'); var user_id = $(this).data('user-id'); $.ajax({ url: "/LikesController/like", type: "POST", dataType: "json", data: {"content_id": content_id, "user_id": user_id}, success: function (data) { if (data.code == 200) { alert(data.msg); } else { alert(data.msg); } } }); }); }); </script> </html>
5. ルーティング設定
ルーティング ファイル (route.php) にルートを追加します:
Route::post('/LikesController/like', 'index/LikesController/like');
6. テスト
サーバーを起動し、 http://localhost/index/index/index にアクセスし、「いいね!」をクリックしてこの機能をテストします。 MySQL の Like テーブルにレコードが追加されているかどうかを確認して、Like が成功したことを確認します。
7. 概要
ThinkPHP フレームワークと jQuery テクノロジーを使用して、Ajax ベースの類似関数が実装されます。この機能により、Web アプリケーションのユーザー エクスペリエンスが向上し、ユーザーと Web アプリケーション間の対話が強化されます。
以上がthinkphp は Ajax に基づいた同様の関数を迅速に実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。