ホームページ >バックエンド開発 >PHPチュートリアル >史上最も包括的な THinkPHP の使用経験とテクニック、マニュアルより使いやすい
史上最も包括的な THinkPHP の使用方法とヒントが記載されており、マニュアルよりも簡単に使用できます。 THinkPHP の使用経験とスキルのまとめ (1) http://www.jb100.net/html/content-28-475-1.html THinkPHPの使用経験とスキルのまとめ(2) http://www.jb100.net/html/content-28-477-1.html THinkPHP の使用経験とスキルのまとめ (3) http://www.jb100.net/html/content-28-479-1.html THinkPHP の使用経験とスキルのまとめ (4) http://www.jb100.net/html/content-28-248-1.html マニュアルよりもわかりやすいTHINKPHPの使い方をまとめた本です。特に初心者の方は必見です。 約束: 1. すべてのクラス ライブラリ ファイルは、ファイル接尾辞として .class.php を使用する必要があり、クラス名とファイル名は一貫している必要があります 2. コントローラーのクラス名の接尾辞は Action 3. モデルのクラス名には Model という接尾辞が付けられ、クラス名の最初の文字は大文字にする必要があります 4. すべてのデータベーステーブル名は小文字です 例: データテーブル名: prefix_テーブル名 モデルクラス名: テーブル名 モデル 注: ここでのテーブル名の最初の文字は大文字にする必要があります オブジェクトの作成: D('テーブル名') 注: ここでのテーブル名の最初の文字は大文字にする必要があります コントローラークラスを定義する class IndexAction extends Action{ パブリック関数 show(){ echo 'これは新しい表示操作です'; } } 次に、ブラウザに「 」と入力します http://localhost/myApp/index.php/Index/show/ モデルクラスを定義します: クラステーブル名 Model は Model を拡張します{ [//フィールドを手動で定義します[オプション] protected $fields = array( 「ID」、 「ユーザー名」、 「メール」、 「年齢」、 '_pk'=>'id', //主キー '_autoInc'=>true //自動インクリメントするかどうか ) ] } 記録された変更: $User = D("User") // ユーザーオブジェクトをインスタンス化します $User->find(1) // ID 1 のレコードを検索します $User->name = 'ThinkPHP' // 見つかったレコードの名前フィールドを ThinkPHP に変更します $User->save() // 変更したデータを保存 特定のフィールドの値を更新します $User->setField('name','TopThink','id=1') フィールドでの操作もサポートできます $User->setField('スコア','(スコア+1)','id=1') 新しいレコードを作成します (方法 1: ) $User = new UserModel() //ユーザーオブジェクトをインスタンス化します $User->フィールド名 = フィールド値 //フィールドに値を割り当てます $User->add() //レコードを追加します 新しいレコードを作成する、方法 2: $data['フィールド名'] = フィールド値 // フィールドに値を代入します $User = D('User') // ユーザー オブジェクトをインスタンス化します ; $User->add($data); //$insertId,Add メソッドの戻り値は、直接取得できる、最後に挿入された主キーの値です。 複数のレコードを追加: $User = 新しい UserModel() $data[0]['name'] = 'ThinkPHP' $data[0]['email'] = 'sjolzy@chen.com' $data[1]['name'] = 'つかの間の年' $data[1]['email'] = 'chen@sjolzy.cn' $ユーザー>すべて追加($data) 記録を削除 $ユーザー->検索(2) $User->delete() // 見つかったレコードを削除します $User->delete('5,6') // 主キー 5 と 6 のデータを削除します $User->deleteAll() // クエリされたデータをすべて削除します レコードクエリ $User->getDbFields() //現在のデータフィールドを取得します $User->findAll(); //すべてのレコードを検索します $User->findAll('1,3,8') //主キーが 1,3,8 であるレコードセットをクエリします $User->count() // レコード数を取得します $User->max('score') // ユーザーの最大ポイントを取得します $User->min('score','score>0') // ポイントが 0 より大きいユーザーの最小ポイントを取得します $User->avg('field name') // 全レコードのフィールド値の平均を取得します $User->sum('フィールド名') // 統計フィールド値 $User->getN(2,'score>80','score desc') // 条件を満たす 2 番目のレコードを返します $User->getN(2,'score>80','score desc') //最後の 2 番目のレコードも取得できます $User->first('score>80','score desc') //最初のレコードをクエリしたい場合は、 を使用することもできます $User->last('score>80','score desc') // 最後のレコードを取得します $User->top(5,'','score desc') // 最高ポイントの上位 5 レコードを取得します $User->getBy('name','liu21st') //フィールド値に基づいてレコードをクエリします $Model = new Model() // どのデータテーブルにも対応しないモデルオブジェクトをインスタンス化します $Model->query("select * from think_user where status=1") $objrs = $Model->query("select * from think_user where status=1") //カスタム クエリ $Model->execute("update think_user set name='thinkPHP' where status=1") //データの更新と書き込みに使用される SQL 操作。影響を受けるレコードの数を返します $User->startTrans() // トランザクションを開始します $User->commit() // トランザクションを送信します $User->rollback() //トランザクションのロールバック テンプレート: $this->assign('name',$value); //テンプレート変数に値を割り当てるには、Action クラスの assign メソッドを使用します。変数の型に関係なく、一律に assign が使用されます。 $this->display() // テンプレートファイルを出力します バッチ割り当て $array['name'] = 'thinkphp' $array['email'] = 'chen@sjolzy.cn' $array['電話'] = '12335678' $this->assign($array) $this->display() // Userモジュールの読み取り操作テンプレートを呼び出します $this->display('edit') // ユーザーモジュールの編集操作テンプレートを呼び出します $this->display('Member:read') // Member モジュールの読み取り操作テンプレートを呼び出します $this->display('Xp@User:edit') // XpテーマのUserモジュールの編集操作テンプレートを呼び出します $this->display('../Member/read.html') // テンプレートファイルのフルネームを直接指定 テンプレートタグ: { } または {// コメントの内容 } // テンプレートのコメント {$user['name']} //配列変数を出力します {$user:name} //オブジェクトのプロパティを出力します テンプレート定義を容易にするために、出力テンプレート変数が配列であるかオブジェクトであるかに関係なく、次の統一された方法で出力できます: {$user.name} 多次元配列または多層オブジェクト属性の出力の場合は、次の定義方法を使用してください: {$user['sub']['name']} {$ユーザー:サブ:名前} 使用機能: 形式: {$varname|function1|function2=arg1,arg2,### } 説明: { と $ 記号の間にスペースを入れることはできません。次のパラメータにスペースを入れても問題ありません ###はテンプレート変数自体のパラメータ位置を表します 。 。 。 。 。 。 。 。 。 。 。 。 。 言葉が多すぎるので、ここでは私の経験とヒントの一部のみを紹介します。さらに興味深い共有URLは次のとおりです。 THinkPHP の使用経験とスキルのまとめ (1) http://www.jb100.net/html/content-28-475-1.html THinkPHPの使用経験とスキルのまとめ(2) http://www.jb100.net/html/content-28-477-1.html THinkPHP の使用経験とスキルのまとめ (3) http://www.jb100.net/html/content-28-479-1.html THinkPHP の使用経験とスキルのまとめ (4) http://www.jb100.net/html/content-28-248-1.html |