ホームページ >バックエンド開発 >PHPチュートリアル >史上最も包括的な THinkPHP の使用経験とテクニック、マニュアルより使いやすい

史上最も包括的な THinkPHP の使用経験とテクニック、マニュアルより使いやすい

WBOY
WBOYオリジナル
2016-07-25 09:03:201291ブラウズ
史上最も包括的な 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



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