thinkphp ノート
M プロジェクト ディレクトリ/アプリケーション ディレクトリ/Lib/Model
V プロジェクト ディレクトリ/アプリケーション ディレクトリ/Tpl
C プロジェクト ディレクトリ/アプリケーション ディレクトリ/Lib/Action
1.PATHINFO モード http://ドメイン名/プロジェクト名/ エントリファイル/モジュール名/メソッド名/キー 1/値 1/キー 2/値 2
2. 通常モード http://ドメイン名/プロジェクト名/エントリファイル? m= モジュール名&a=メソッド名&キー 1=値 1&キー 2=値 2
3.REWRITE モジュール http://ドメイン名/プロジェクト名/モジュール名/メソッド名/キー 1 / value1/key2/value2
4. 互換モード http://ドメイン名/プロジェクト名/エントリ ファイル? s=モジュール名/メソッド名/key1/value1/key2/value2
// このクラスシステムによって自動的に生成され、テスト目的のみです。
class IndexAction extends Action {
public functionindex(){
echo "hello world";
}
public function add( ) {
echo "こんにちは、ウーハオ
";
echo 'Hello'.$_GET['name'].'あなたの年齢は'.$ _GET['年齢'];
}
}
http://localhost/test/index.php/Index/add?name= wuhao
http://localhost/test/index.php/Index/add/name/wuhao
http://localhost/test/index.php /Index/add/name/wuhao/age/18
'URL_PATHINFO_DEPR'=>'-' , // URL 区切り文字
'TMPL_L_DELIM'=>'
'TMPL_R_DELIM' =>'}>', //正しい区切り文字を変更します
http://localhost/test/index.php/Index-add -name-wuhao-age-23
http://localhost/test/index.php/Index/index
http://localhost/test/index.php/Index/add
public function add(){
/ *echo "こんにちは、ウーハオ
";
echo 'こんにちは'.$_GET['名前'].'あなた 年齢は'.$_GET['年齢' ];*/
$name='呉暉';
$this- >assign('myname',$name) ;
//$this->myname='abc';
$ this->display();
}
一部の動的データは、assign() メソッドを通じてテンプレート表示に割り当てることができます
add メソッドにアクセスしました。
こんにちは! {$myname}
D:wampwwwtestAppTplIndex
メソッド
$m=new Model('User');
$arr=$m->select();
'DB_TYPE'=>'mysql', //データベースの種類を設定します
'DB_HOST'=>'localhost',//ホストを設定します
'DB_NAME'=>'thinkphp',//設定データベース名
'DB_USER'=>'root', //ユーザー名を設定
'DB_PWD'=>'', //パスワードを設定
'DB_PORT'=>'3306', //ポート番号を設定
'DB_PREFIX'=> 'tp_', //テーブルのプレフィックスを設定します
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//DSN 方式を使用してデータベース情報を構成します。これは従来の方式よりも優先されます
$user=new Model('User');
$arr =$user ->select();
var_dump($arr);
$this->display();
'SHOW_PAGE_TRACE'=>true,// ページ トレースを開きます
別のシンプルで実用的なモデルメソッドがあります
M() は new Model() と同等です;
$m=M( 'User') モデルのインスタンスはデータを操作できます。操作作業は通常、データベースの追加、削除、変更、確認です。 -C Create $m- >add()
削除-D 削除 $m->delete()
変更-U 更新 $m-> save()
Check-R Read $m->select()
a. テンプレートは配列を走査できます
{$ vo.id}----{$vo.ユーザー名}-----{$vo.sex}
b. デバッグ関数で page_trace をオンにできます
1. デバッグ関数
define('APP_DEBUG',true);
2. 構成ファイルを設定し、ページ トレースを有効にする必要があります
' SHOW_PAGE_TRACE'=>true,// ページ トレースを有効にする
読み取りデータ
データの読み取り 読み取り
$m=new Model('User');
$m=M('User');
select: $m ->select(); //すべてのデータを取得し、配列形式で返します
find: $m-> ;find($id); // 単一のデータを取得します
getField(フィールド名) // 特定のフィールド値を取得します
$arr=$m->where('id=2') ->getField('username');
データの作成
データの追加 作成
$m=new Model('User');
$m=M('User') ;
$m ->フィールド名=値
$m->add(); 戻り値は新しい ID です。数値
データの削除
$m=M('User');
$ m->delete(2); //id 2 のデータを削除します
$m->where('id=2')->delete();値は影響を受ける行の数です
更新データ
$m=M('User');
$data['id']=1;
$data['username']='ztz2';
$m->save($data); 戻り値は影響を受ける行数
CURD デモ:
========= = ================================================ = ================================================ = ================================================ = ===================================
クエリメソッド:
1. 一般的なクエリ メソッド
a. 文字列
$arr=$m ->where("sex=0 and username='gege'")->find();
b. 配列
$data['sex']=0;
$data['username']='gege';
$arr= $m->where($data)->find();
注: このメソッドのデフォルトは and 関係です。 or 関係を使用する場合は、を追加する必要があります。配列値: $data['_logic']='or';
2. 式クエリメソッド
$data['id ']= array('lt',6); $arr=$m->where($data)->select();
EQ は NEQ と等しいは等しくない、GT はより大きい、EGT は以上、LT はより小さい、ELT は以下、LIKE ファジークエリ
$data['ユーザー名']=array('like','%ge'); $arr= $m->where($data)->select();
NOTLIKE
$data['username']= array('notlike','%ge%'); $arr=$m->where($data)->select( );
注: フィールドが複数のワイルドカードに一致する場合
$data['username']=array('like',array ('%ge%','%2%','%五%' ),'and'); // 3 番目の値がない場合、デフォルトの関係は or 関係
です。 BETWEEN
$data[' id']=array('between',array(5,7)); $arr=$m->where($data) )->select();
//SELECT * FROM `tp_user` WHERE ( (`id` BETWEEN 5 AND 7 ) )
$data['id']=array('not間',array(5,7)); $arr=$m->where($data)->select();
IN
$data['id ']=array('in',array(4,6,7)); $arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( `id` IN (4,6) ,7) )
$data['id']=array('not in',array(4,6,7)); $arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( `id` NOT IN (4, 6,7) )
三、区间查询
$data['id']=array(array('gt',4 ),array('lt',10)); //默认关系は and 的关系
//SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id`
$data['id']=array(array('gt',4),array('lt',10),'or') //关系就是or的关系
$data['name']=array(array('like','%2%'),array('like','%五%'),'gege' ,'or');
四、统计查询
count //获取数;max //获取最大数;min / //获取最小数;avg //获取平均数;sum //获取总和
五、SQL直接查询
a、クエリ主処理读取データ的:成功した回数返された結果、失敗した場合はブール値 false が返されます
$m=M();
$ result=$m->query("select * from t_user where id >50");
var_dump($result);
b、更新用の書き込み操作を実行します: 成功した場合は実行数が返され、失敗した場合はブール false が返されます
$m=M();
$result=$m->execute("insert into t_user(`username`) value('ztz3')");
var_dump($result);
'DB_LIKE_FIELDS'=>'title|content' //查询语句中条件自動变は模糊查询%%
查询方式演示:
============== ================================================= ================================================= ================================================= ==============================
常用连贯操作
1.where 帮助我们设置查询条件
2.order 对结果进行排序
$arr=$ m->order('id desc')->select(); $arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select();
3.limit 制限制结果
limit(2,5) limit('2,5') limit(10) //limit(0,10)
4.field 设置查询字段
field('username as name,id') field(array('username'=>'name','id')
field('id ',true) //id を除くすべてのフィールドを取得
5.table
6.group
7.having
2. 補足
エイリアスは、現在のデータ テーブルのエイリアス文字列を定義するために使用されます
ページは、ページングをクエリするために使用されます (内部で制限するように変換されます) 文字列と数値
join* は、文字列と配列をサポートするためにクエリを結合するために使用されます
Union* クエリに使用される Union は文字列、配列、オブジェクトをサポートします
Distinct クエリに使用される Distinct はブール値をサポートします
ロックは、データベースのロック メカニズムのブール値です。
キャッシュは、キャッシュのクエリに使用され、複数のパラメーターをサポートします (詳細はキャッシュで説明されています)後述のセクション)
リレーションはリレーショナル クエリに使用されます (リレーショナル モデル拡張サポートが必要です) string
validate は自動データ検証に使用されます array
auto はデータのオートコンプリート配列に使用されます
フィルターはデータのフィルタリング文字列に使用されます
スコープ* は名前付き範囲文字列、配列に使用されます
============================== =========== ====================================== =========== ====================================== =========== ====================================== =========== ====
表示:
1. テンプレートの使用
a. ルール
テンプレートフォルダー [TPL]/[グループフォルダー/][テンプレートテーマフォルダー/] および同名のフォルダーの下モジュール名[Index]/メソッド名と同名のファイル[index].html (.tpl)
テンプレートファイルのサフィックス変更(設定ファイルの修正) )
'TMPL_TEMPLATE_SUFFIX'=> '.html', //テンプレート ファイルのサフィックスを変更します
b. テンプレート ファイルのディレクトリを変更します。階層
'TMPL_FILE_DEPR'=>' _', //テンプレート ファイルのディレクトリ階層を変更します
c.
'DEFAULT_THEME'=>'your', // デフォルトのテンプレートテーマを設定します
TPL の下に新しいフォルダーを作成する必要があります。テンプレート テーマ フォルダー
テンプレート テーマを動的に変更するにはどうすればよいですか?
1. config.php ファイル内のデフォルトのテンプレート項目を変更する関数をバックグラウンドで準備します
2. t=theme を渡しますURL を通じてパラメータをさまざまなテンプレートに変更できます
'DEFAULT_THEME'=>'your',//デフォルトのテンプレート テーマを設定します
'TMPL_DETECT_THEME'= >true,//テンプレート テーマを自動的に検出します
'THEME_LIST'=>'your,my',//サポートされているテンプレート テーマ リスト
http://localhost/test/index.php/Index/index/t/my http://localhost/test/index.php/Index/index/t/you
2. テンプレートの内容を出力します
a.
1. ディスプレイにはパラメータはありません: $this->display();
2. パラメータは取得可能です
$this->display(このモジュール フォルダー内の他のテンプレート ファイル);
$this->display('index2');
$this->display(他のフォルダー内のテンプレート ファイル);
$this->display('Public:error'); //注 , Tpl の下に Public フォルダーと error.html を置くだけで済みます。Public モジュール
$this->display (他のテーマのフォルダー) は必要ありません。テンプレート ファイルは以下にあります); //テーマのサポートを有効にする必要があります
$this->display('my:Index:index');
$this->display(URL パス);
$this->display('./Public/error.html');
$this->display('./Public/error.html','utf-8','text/xml');
$ this ->show($content);
3.fetch メソッド
テンプレート ファイルのコンテンツを取得し、それをstring: $content=$this->fetch('Public:error');
4.show メソッド
は必要ありませんテンプレート ファイルを直接出力できます。
$content=$this->fetch('Public:error');
dump($content );
$content=str_replace('h1','i',$content);
$ this->show( $content);
3. テンプレートでの割り当て
//$this->assign('name ','趙通正' );
$this->
$this->name='趙通正2';
4. テンプレートの置換
__PUBLIC__: 現在の Web サイトのパブリック ディレクトリ (通常は /Public/
__ROOT__) に置き換えられます。 : 現在の Web サイトのアドレスに置き換えられます (ドメイン名は含まれません)
__APP__: 現在のプロジェクトの URL アドレスに置き換えられます (ドメイン名は含まれません)
__GROUP__: 現在のプロジェクト URL に置き換えられます グループ化された URL アドレス (ドメイン名を除く)
__URL__: URL アドレスに置き換えられます現在のモジュールの (ドメイン名を除く)
__ACTION__: 現在の操作の URL アドレス (ドメイン名を除く) に置き換えられます
__SELF__: 現在のページ URL に置き換えられます
テンプレート変数ルールを変更し、設定項目を変更します
'TMPL_PARSE_STRING'=> array( //独自のテンプレート変数ルールを追加します
'__CSS__'=> __ROOT__.'/Public/Css',
' __JS__'=>__ROOT__.'/Public/Js',
),
ログインボックスの例:
拡張クラスを導入し、D の ThinkPHP3.1.2_Extend にファイルを置きます。 wampwwwtestThinkPHPExtend フォルダー。
対応する js と css:
D:wampwwwtestPublicCss ·D:wampwwwtestPublicJs
======================== = ================================================ = ================================================ = ================================================ = ====================
テンプレート内の変数:
1 つの変数出力
1. スカラー出力
2. 配列出力
{$ name [1]} {$name['k2']} {$name.k1}
3. オブジェクト出力
{$ name :k} {$name->k}
2. システム変数
用法 | 含义 | 例子 |
---|---|---|
$Think.server | 获取$_SERVER | {$Think.server.php_self} |
$Think.get | 获取$_GET | {$Think.get.id} |
$Think.post | 获取$_POST | {$Think.post.name} |
$Think.request | 获取$_REQUEST | {$Think.request.user_id} |
$Think.cookie | 获取$_COOKIE | {$Think.cookie.username} |
$Think.session | 获取$_SESSION | {$Think.session.user_id} |
$Think.config | 获取系统配置参数 | {$Think.config.app_status} |
$Think.lang | 获取系统语言变量 | {$Think.lang.user_type} |
$Think.const | 获取系统常量 | {$Think.const.app_name}或{$Think.APP_NAME} |
$Think.env | 获取环境变量 | {$Think.env.HOSTNAME} |
$Think.version | 获取框架版本号 | {$Think.version} |
$Think.now | 获取当前时间 | {$Think.now} |
$Think.template | 获取当前模板 | {$Think.template} |
$Think.ldelim | 获取模板左界定符 | {$Think.ldelim} |
$Think.rdelim | 获取模板右界定符 | {$Think.rdelim} |
3. 関数
{$name|strtoupper} を使用します。生成されるコンパイル済みファイルは次のとおりです:
{$name|date='Y m d H:i:s',###}
4. デフォルト値
{$name|default='これがデフォルト値です'}
5. 🎜>
- * / % -- {$name }
テンプレートの基本構文:
1. CSS ファイルと JS ファイルをインポートする
1.
2.import
3.load
未成年
青少年
大人
> gt 番号' >
3. ループ構造
1.for
{$v.username } | {$v.password} | >

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1
使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
