ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP のアルファベット関数を整理するためのガイド

ThinkPHP のアルファベット関数を整理するためのガイド

WBOY
WBOY転載
2022-03-09 18:28:532367ブラウズ

この記事では、thinkphp に関する関連知識を提供します。主に、A、B、C、D メソッドなどの文字関数に関する関連問題を紹介します。参考になる皆様のお役に立てれば幸いです。

ThinkPHP のアルファベット関数を整理するためのガイド

推奨学習: 「thinkphp 学習

メソッド

は、コントローラーを内部的にインスタンス化するために使用されます。呼び出し形式:

// A('[项目://][分组/]模块','控制器层名称')$User = A('User');$User = A('Admin://User');

コントローラーをインスタンス化した後、コントローラー内のメソッドを呼び出すことができますが、プロジェクト間の呼び出しの場合、操作メソッドが現在の There に固有の場合は注意が必要です。コントローラーの特殊な変数操作には未知の問題が含まれる可能性があるため、一般的に関係者は、パブリック呼び出しを必要とするコントローラー層を、あまり多くの依存関係を持たずに個別に開発することを推奨しています。

B メソッド

これは、動作とともに発生する新しい関数です。特定の動作を実行できます。たとえば、

B('app_begin');

は、この動作定義を実行します。プロジェクト開始前のすべての機能。 2 つのパラメータをサポートします。2 番目のパラメータは、

B('app_begin', ["name" => "tdweb","time"=>time()]);

C メソッドなどの配列を受け入れる必要があります。

C メソッドは、構成パラメータを設定、取得、保存するための Think のメソッドです。使用頻度は高くなります。

構成パラメータを動的に設定する: 構成パラメータでは大文字と小文字は区別されませんが、構成定義の仕様は統一された大文字で維持することをお勧めします。

C('DB_NAME','think');

2 番目の構成パラメータの設定をサポートします。構成パラメータが 2 番目のレベルを超えることはお勧めできません。例:

C('USER.USER_ID',8);

複数のパラメータを設定したい場合は、バッチ設定を使用できます。例:

$config['user_id'] = 1;$config['user_type'] = 1;C($config);

受信構成パラメータが空の場合は、すべてのパラメータを取得することを意味します:

$config = C();

D メソッド

D メソッドは、より一般的に使用されるメソッドである必要があります。カスタム モデル クラスをインスタンス化するために使用されます。これは、Think フレームワークによるモデル クラスのインスタンス化のカプセル化であり、シングルトンを実装します。 mode. は、プロジェクト間およびグループ呼び出しをサポートしており、呼び出し形式は次​​のとおりです:

D('[项目://][分组/]模型','模型层名称')

メソッドの戻り値は、インスタンス化されたモデル オブジェクトです。

D メソッドはモデル クラスを自動的に検出できます。カスタム モデル クラスが存在する場合はカスタム モデル クラスがインスタンス化され、存在しない場合はモデルの基本クラスがインスタンス化されます。すでにインスタンス化されているモデルは、繰り返しインスタンス化されません。

D メソッドの最も一般的な使用法は、現在のプロジェクトのカスタム モデルをインスタンス化することです。例:

// 实例化 User 模型$User = D('User');

F メソッド

F メソッドは実際にはサブです。 -S メソッドの子 set 関数は単純なデータ キャッシュにのみ使用され、ファイル形式のみをサポートし、キャッシュの有効期間はサポートされません。return メソッドを使用するため、その効率は S メソッドよりも高いため、これを高速キャッシュ方式と呼びます。

F メソッドの特徴は次のとおりです:

  • シンプルなデータ キャッシュ;
  • ファイル形式で保存;
  • データを返してキャッシュをロード;
  • サブディレクトリのキャッシュと自動作成をサポート;
  • キャッシュの削除とバッチ削除をサポート;

書き込みおよび読み取りキャッシュ

F('data','test data');

デフォルト保存開始パスは DATA_PATH です (この定数は、デフォルト設定では RUNTIME_PATH.'Data/' の下にあります)。これは、ファイル名が DATA_PATH として生成されることを意味します。データ。' キャッシュ ファイル。

注: データの上書きや競合を避けるために、キャッシュ識別子が固有であることを確認してください。

次回キャッシュされたデータを読み取るときは、

$Data = F('data');

を使用します。これをサブディレクトリに保存できます。たとえば、

F('user/data',$data); 
// 缓存写入F('user/data'); 
// 读取缓存

DATA_PATH を生成します。' user /data.' キャッシュ ファイル。ユーザー サブディレクトリが存在しない場合は、自動的に作成されます。また、複数レベルのサブディレクトリもサポートできます。例:

F('level1/level2/data',$data);

開始ディレクトリを指定する必要がある場合

F('data',$data,TEMP_PATH);

キャッシュの削除

F('data',NULL);

G メソッド

G メソッドには、位置と間隔の統計をマーキングする 2 つの機能が含まれています。 :

位置をマークする

G メソッドの最初の使用法は、位置をマークすることです。例:

G('begin');

は、位置をマークすることを意味します。現在位置を開始タグとして使用し、現在位置の実行時間、環境がサポートしている場合はメモリ使用量も記録できます。 G メソッド マーカーはどこからでも呼び出すことができます。

実行時間統計

位置をマークした後、G メソッドを再度呼び出して間隔統計を実行できます。例:

G('begin');
// ...其他代码段G('end');
// ...也许这里还有其他代码
// 进行统计区间echo G('begin','end').'s';

G('begin' ,' end') は、開始位置から終了位置までの実行時間をカウントすることを意味します (単位は秒)。begin はマークされた位置でなければなりません。この時点で終了位置がマークされていない場合、現在の位置はは終了タグであり、出力結果は次のようになります:

0.0056s

デフォルトの統計精度は小数点以下 4 桁です。この統計精度が十分ではないと思われる場合は、次のように設定することもできます。例:

G('begin','end',6).'s';

メモリ オーバーヘッド統計

環境がメモリ使用量統計をサポートしている場合は、G メソッドを使用して間隔メモリ オーバーヘッド統計 (単位は kb) を実行することもできます。例:

echo G('begin','end','m').'kb';

3 番目のパラメーターは、m を使用してメモリ オーバーヘッドを表します。統計、出力結果は次のようになります:

625kb

I 方法

正如你所见到的一样,I 方法是 Thinkphp 众多单字母函数中的新成员,其命名来自于英文 Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:

I('变量类型.变量名',['默认值'],['过滤方法'])

变量类型是指请求方式或者输入类型,包括:

方式 说明
get 获取 GET 参数
post 获取 POST 参数
param 自动判断请求类型获取 GET、POST 或者 PUT 参数
request 获取 REQUEST 参数
put 获取 PUT 参数
session 获取 $_SESSION 参数
cookie 获取 $_COOKIE 参数
server 获取 $_SERVER 参数
globals 获取 $GLOBALS 参数

注意:变量类型不区分大小写。变量名则严格区分大小写。

默认值和过滤方法均属于可选参数。

L 方法

L 方法用于启用多语言的情况下,设置和获取当前的语言定义。

调用格式:

L('语言变量',['语言值'])

M 方法

M 方法用于实例化一个基础模型类,和 D 方法的区别在于:

  • 不需要自定义模型类,减少 IO 加载,性能较好;
  • 实例化后只能调用基础模型类(默认是 Model 类)中的方法;
  • 可以在实例化的时候指定表前缀、数据库和数据库的连接信息;

D 方法的强大则体现在你封装的自定义模型类有多强,不过随着新版 Think 框架的基础模型类的功能越来越强大,M 方法也比 D 方法越来越实用了。

M 方法的调用格式:

M('[基础模型名:]模型名','数据表前缀','数据库连接信息')

R 方法

R 方法用于调用某个控制器的操作方法,是 A 方法的进一步增强和补充。

R 方法的调用格式:

R('[项目://][分组/]模块/操作','参数','控制器层名称')

可以通过 R 方法在其他控制器里面调用这个操作方法(一般 R 方法用于跨模块调用)

$data = R('User/detail',array('5'));

官方的建议是不要在同一层多太多调用,会引起逻辑的混乱,被公共调用的部分应该封装成单独的接口,可以借助3.1的新特性多层控制器,单独添加一个控制器层用于接口调用

S 方法

S 方法还支持对当前的缓存方式传入缓存参数,例如:

S('data',$Data,3600,'File',array('length'=>10,'temp'=>RUNTIME_PATH.'temp/'));

T 方法

为了更方便的输出模板文件,新版封装了一个 T 函数用于生成模板文件名。

T([资源://][模块@][主题/][控制器/]操作,[视图分层])

T 函数的返回值是一个完整的模板文件名,可以直接用于 display 和 fetch 方法进行渲染输出。

U 方法

U 方法用于完成对 URL 地址的组装,特点在于可以自动根据当前的 URL 模式和设置生成对应的 URL 地址,格式为:

U('地址','参数','伪静态','是否跳转','显示域名');

在模板中使用 U 方法而不是固定写死 URL 地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。

推荐学习:《thinkphp框架

以上がThinkPHP のアルファベット関数を整理するためのガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。