この記事は、PHP を学んだばかりでまだフレームワークに触れていない友人に適しています。
まえがき :
皆さんもそうお感じでしょうか? PHP を一定期間学習した結果、この言語は難しくなく、簡単に習得できることがわかりました。始めました。何気なくWebインターフェースを書いてデータベースの中身をいじっていくだけなので、それほど難しくはないようです。当時の編集者もバカで、Webサイトを作るなんてそんなことだと思ってました( ̄_, ̄)。しかし、勉強を深めていくうちに、突然そうではないことに気づき、当初の考えを振り返ると、自分が若すぎて単純すぎると静かに嘆くことしかできませんでした。エディターに関して言えば、最初に学んだのはPHPの入門段階で、要するにその山にコードを追加し、データベースの表示を調整して機能を実装するだけでした。書きたい機能が増えてくると、編集者はデザインを書くのに20ページ以上、コードを変えるのに半日かかることに気づきましたが、当時の編集者にはフレームワークという概念がありませんでした。 。私が Java EE の Struts2 フレームワークを学ぶまで、編集者は彼がとても良い人であることに気づきました。彼はその場で爆発しました。 PHP の学習を強化するために、編集者は多くの PHP フレームワークの 1 つである thinkPHP5 を勉強することに時間を費やしました。
あとがき:
この記事は勉強メモを兼ねて書きました、ちなみにthinkphp5を学びたい友達に簡単な紹介をして載せておきます。操作方法は非常に多いのでエディタでは紹介しませんが、開発マニュアルに詳しい説明がありますので、文章が悪い場合は修正してください。また、tp5のクイックスタートマニュアル(有料)も編集者個人的には読む価値があると感じています。
1. thinkphp5 フレームワークとは何ですか?
thinkphp5 を紹介する前に、まずフレームワークとは何かについて話しましょう。つまり、他の人があなたのために家を建てましたが、まだ装飾されていないため、他の人が設計したアパートで装飾する必要があり、レンガを移動する繰り返しの作業が不要になります。 (フレームワークを深く理解するには、自分で Baidu を使用してください)。
ThinkPHP は、MVC およびオブジェクト指向に基づく高速かつシンプルな軽量 PHP 開発フレームワークです。Apache2 オープン ソース ライセンスの下でリリースされています。2006 年の誕生以来、シンプルで実用的な設計原則に準拠しています。シンプルなコードながら、開発経験と使いやすさにこだわり、独自の機能を多数搭載し、WEBアプリケーションやAPIの開発を強力にサポートします。 (初心者の場合、概念を理解しても意味がないと思います。プロジェクト中に直接感じた方が良いです)
2. 事前準備
(1 )プログラミング ツールの選択: オープン ツール: phpStorm サーバー ツール: phpStudy
ツールの選択は主に個人の好みによって決まりますが、主流の編集ツールを選択するのが最善です。
phpstrom のダウンロードとインストール チュートリアルのアドレス: http://www.php.cn/xiazai/gongju/122
phpStudy のダウンロードとインストール チュートリアルのアドレス: http://www.php.cn/xiazai/gongju/845
phpstudy を使用したことがない場合は、上記のアドレスにリンクして phpsyudy の基本的な操作方法を学ぶことができます
* 以下 この手順は当面必要ありません
PhpStorm PhpStudy 開発環境を構築します:https://blog.csdn.net/u012861467/article/details/54692236
(2) thinkphp5 をダウンロードしてインストールします
ダウンロード アドレス: http://www.thinkphp.cn/donate/download/id/1155.html
#インストール方法: 圧縮パッケージを解凍します プロジェクト配下に phpStudy/ww を置くだけですURL を入力してください: localhost/thinkphp_5/public/ 以下のインターフェースが表示されます。インストールは成功しました
(3) thinkphp5 を学ぶために必要な知識php の入門段階の知識 PHP オブジェクト指向プログラミング (==>名前空間部分が先) mvc デザインパターン
3. thinkphp5 の基本的な使い方
(1) 参考資料: thinkphp5 完全開発マニュアル:https:// www.kancloud.cn/manual/thinkphp5/ 118003 開発マニュアルには多くの内容が含まれているため、直接読む必要はありません。tp5 を初めて使用する人は、開発マニュアルのどの部分を参照することができます。必要な知識。
(2) ディレクトリ構造: (大まかに理解できます)tp5 には多数のディレクトリファイルがありますが、ここでは下線部分を中心に説明しますが、その他の部分については開発マニュアルを参照してください。まずアプリケーションについて話しますが、簡単に言えば、この部分はコードを書く部分です。上の図に示すように、インデックス モジュールはフロントエンドであり、通常は管理モジュールとバックエンド管理者を自分で作成します。
index モジュールと admin モジュールの下にはおなじみの MVC、datebase.php はデータベースを設定するためのファイル、アプリケーションの下の config.php はすべてのモジュールの構成ファイルですが、index と admin の config.php は、独自のモジュールの下にあるファイルにのみ影響します。 public の下の static は静的リソースを含むファイルで、index.php はこのファイルを通じてのみアクセスできるエントリ ファイルです。
(3) MVC
Model (モデル) は、アプリケーション データ ロジックを処理するために使用されるアプリケーションの一部です。
通常、モデル オブジェクトはデータベース内のデータへのアクセスを担当します。
View (ビュー) は、データ表示を処理するアプリケーションの一部です。
通常、ビューはモデル データに基づいて作成されます。
Controller は、ユーザー操作を処理するアプリケーションの一部です。
通常、コントローラーはビューからのデータの読み取り、ユーザー入力の制御、モデルへのデータの送信を担当します。
Model (モデル)
a: データベース構成:
database.php を開き、通常は下線部分を変更する必要があります。また、thinkphp5.0 完全開発マニュアルでは、basic ディレクトリに開発仕様が記載されており、理解する必要があります。
b: モデルの確立: (この部分については、開発マニュアルでも詳しく説明されています)
<?php namespace app\admin\model; use think\Model; class User extends Model { } ?>
ほとんどの場合、モデルを確立する必要はありません。モデルに何かを定義するには、プロパティとメソッドで基本的な操作を完了できます。モデルは自動的にデータ テーブルに対応します。仕様は、データベースプレフィックス 現在のモデルクラス名(ネームスペースを除く) モデルクラスの命名がキャメルケースなので、実際のデータテーブルを取得する際に、自動的に小文字のアンダースコアを付けたデータテーブル名に変換されるので、データを含むデータテーブル名 テーブルと同じ名前でモデル化するだけです。データ テーブルの名前が tp_user のようにプレフィックスとアンダースコアで指定されていない場合は、モデル内でデータ テーブルを指定できます。
<?php namespace app\admin\model; use think\Model; use think\Db; class Swe extends Model { // 设置完整的数据表(包含前缀) protected $table = 'swe'; }
以下は例で説明します。
まず、admin モジュールの下に次のファイルを作成し、コントローラーの下に User.php を作成し、Model の下に User.php を作成して作成します。ビュー ユーザー フォルダーの下に user.html
を作成し、ID、クリック名、電子メール、誕生日を含むユーザー テーブル フィールドを作成します。
コードは次のとおりです。
コントローラーの下User.php
<?php namespace app\admin\controller; use think\Controller; use app\admin\model\User as UserModel; class User extends Controller { // // 创建用户数据页面 // public function create() // { // return $this->fetch('user');//加载模板,会自动找到view下的user的user.html并显示 // } // 创建用户数据页面 public function create() { return view('user');//加载模板,会自动找到view下的user的user.html } // 新增用户数据 public function add() { $user = new UserModel; if ($user->allowField(true)->save(input('post.'))) {//input('post.'))为表单提交的数据 return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功'; } else { return $user->getError(); } } // model的助手函数新增用户数据 public function add3() { // 使用model助手函数实例化User模型 $user = model('User'); // 模型对象赋值 $user->data([ 'nickname' => 'SWE', 'email' => 'thinkphp@qq.com' ]); if ($user->save()) { return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功'; } else { return $user->getError(); } }
User.php
<?php namespace app\admin\model; use think\Model; class User extends Model { }
user.html
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>创建用户</title> <style> </style> </head> <body> <h2>创建用户</h2> <FORM method="post" class="form" action="{:url('admin/user/add')}"> 昵 称:<INPUT type="text" class="text" name="nickname"><br/> 邮 箱:<INPUT type="text" class="text" name="email"><br/> 生 日:<INPUT type="text" class="text" name="birthday"><br/> <input type="hidden" name="__token__" value="{$Request.token}" /> <INPUT type="submit" class="btn" value=" 提交 "> </FORM> </body> </html>
url:localhost/tp5/public/index.php/admin/user/create
user.php で create メソッドを実行
return $this->fetch('user'); //テンプレートをロードすると、表示されているユーザーの user.html が自動的に検索されて表示されます
user.html add メソッドにデータを送信します。
Model クラスをインスタンス化します。 $user->allowField(true)->save(input('post.')) データを送信します。データベース
にアクセスし、関連するその他の質問については、PHP 中国語 Web サイト (PHP ビデオ チュートリアル
) を参照してください。以上がPHP - thinkphp5 の詳細な紹介と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。