ホームページ > バックエンド開発 > PHPチュートリアル > PHP の ThinkPHP フレームワーク ガイド

PHP の ThinkPHP フレームワーク ガイド

WBOY
リリース: 2023-05-21 10:20:01
オリジナル
1941 人が閲覧しました

ThinkPHP は有名な PHP オープン ソース フレームワークであり、効率性、シンプルさ、使いやすさが特徴で、大規模な Web アプリケーションを迅速に構築できます。この記事では、ThinkPHPフレームワークの使い方と注意点を紹介します。

1. ThinkPHP フレームワークのインストール

1. ThinkPHP フレームワークのダウンロード

公式 Web サイト (http://www.thinkphp.cn) から ThinkPHP 圧縮パッケージをダウンロードできます。 /)して解凍します。 Composer を通じてインストールすることもできます。ここではこれ以上の詳細は説明しません。

2. 新しいプロジェクトの作成

Web サーバー上に新しいプロジェクトを作成し、解凍された ThinkPHP フレームワークをプロジェクト ディレクトリにコピーします。

2. ThinkPHP フレームワークの基本的な使用方法

ThinkPHP フレームワークのコア MVC (Model-View-Controller) アーキテクチャ。このうち、

Model はデータの永続層操作を処理し、
View はユーザー インターフェイスのプレゼンテーションを担当し、
Controller はビジネス ロジック層として機能し、リクエストの受け入れと処理を担当します。

1. コントローラーの作成

ThinkPHP フレームワークでは、コントローラーを通じて HTTP リクエストを処理できます。

新しい HomeController.php ファイルを作成し、次の内容を入力します:

class HomeController extends Controller
{
    public function index()
    {
        echo "Hello World!";
    }
}
ログイン後にコピー

2. ルートを作成します

コントローラーの完成後、ルートを設定する必要があります。コントローラーにアクセスします。ルーティングを設定するには 2 つの方法があります。1 つは設定ファイルで設定する方法、もう 1 つはアノテーションで設定する方法です (ThinkPHP 5 以降)。

設定ファイルでルーティングを設定します:

<?php
return [
    'route' => [
        'home/index' => 'HomeController/index',
    ]
];
ログイン後にコピー

上記のコードは、リクエスト アドレス /home/index が HomeController コントローラーのインデックス メソッドにルーティングされることを示しています。

アノテーションにルーティングを設定します:

/**
 * @route('home/index')
 */
public function index()
{
    echo "Hello World!";
}
ログイン後にコピー

3. アクセス コントローラー

上記の手順を完了したら、/home/index コントローラーにアクセスして、作成したばかりのコントローラーを呼び出すことができます。 。

3. ThinkPHP フレームワークのテンプレート エンジン

1. テンプレート エンジンとは

テンプレート エンジンは、ビュー ファイルからデータとビジネス ロジックを分離し、後のメンテナンスと改訂を容易にします。 。 ThinkPHP フレームワークに組み込まれているテンプレート エンジンは使いやすく、強力です。デフォルトでは、コントローラーは「methodname.html」または「methodname.php」という名前のテンプレート ファイルを自動的に検索します。

2. テンプレート エンジンを使用する

コントローラーでテンプレート エンジンを使用する手順:

①テンプレート ファイルにタグを埋め込みます

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>模板示例</title>
    </head>
    <body>
        <h1>{$title}</h1>
        <ul>
            {foreach $list as $item}
                <li>{$item}</li>
            {/foreach}
        </ul>
    </body>
</html>
ログイン後にコピー

テンプレートファイル SmartyやBladeなどのタグを使用できますが、ここではThinkPHPの組み込みテンプレートエンジンのタグを使用します。

②コントローラーにパラメーターを渡す

class HomeController extends Controller
{
    public function index()
    {
        $this->assign('title', 'Hello World');
        $this->assign('list', [
            'item1', 'item2', 'item3'
        ]);
        return $this->fetch();
    }
}
ログイン後にコピー

このコードでは、 assign() メソッドがデータをテンプレートに設定し、 fetch() メソッドがレンダリングされた HTML を返します。

上記は ThinkPHP フレームワーク テンプレート エンジンの使用です。

4. ThinkPHP フレームワークのデータベース操作

1. データベース構成

config/database.php ファイル内のデータベース構成を変更します:

return [
    // 数据库类型
    'type'     => 'mysql',
    // 服务器地址
    'hostname' => 'localhost',
    // 数据库名
    'database' => 'test',
    // 用户名
    'username' => 'root',
    // 密码
    'password' => '',
    // 端口
    'hostport' => '',
    // 数据库编码默认采用utf8
    'charset'  => 'utf8',
    // 数据库表前缀
    'prefix'   => '',
];
ログイン後にコピー

2 . データのクエリ

Query クラスを使用して操作します。これは、次のメソッドで実現できます:

<?php
namespace appindexcontroller;
use thinkDb;

class Index
{
    public function index()
    {
        //查询数据
        $list = Db::name('user')->order('id asc')->select();
        $this->assign('list', $list);
        return $this->fetch();
    }
}
ログイン後にコピー

上記のコードは、ユーザー テーブル (ユーザー) データをクエリするメソッドを示しています。

3.データの挿入

Db クラスの insert() メソッドを使用してデータを挿入します。

Db::name('user')->insert([
   'name' => '张三',
   'age' => 18,
   'email' => 'zhangsan@163.com'
]);
ログイン後にコピー

4.データを更新します

Db クラスの update() メソッドを使用してデータを更新します:

Db::name('user')
    ->where('id', 1)
    ->update(['name' => '李四', 'age' => 20]);
ログイン後にコピー

5. データを削除します

Db クラスの delete() メソッドを使用してデータを削除します:

Db::name('user')
    ->where('id', 1)
    ->delete();
ログイン後にコピー

概要

この記事「はじめに」を通じて、ThinkPHP フレームワークの使用についてはすでに予備的な理解ができたと思います。実際のプロジェクト開発では、フレームワークのさまざまなコンポーネント、特にモデルとルーティングの使用についてさらに深く学ぶ必要があります。この記事があなたのお役に立てば幸いです。

以上がPHP の ThinkPHP フレームワーク ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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