ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP 単一文字関数コレクション

ThinkPHP 単一文字関数コレクション

WBOY
WBOYオリジナル
2016-06-13 13:08:36840ブラウズ

ThinkPHPの一文字関数配列

これは TdWeb からのメモであり、彼の許可を得て投稿しました。元々は Lite バージョン用に作成されましたが、現在では、これらの 1 文字の関数は標準バージョンにも存在します。したがって、この情報は ThinkPHP の両方のバージョンに同様に当てはまります。 Tdweb は少し怠惰だったので、一部のコードは直接コピーされていたため、少し整理しました (主にページ スタイルを少し更新し、いくつかのステートメントを更新しました。tdweb を怒らないでください)
元の URL: http://bitctw.cn/hl/docs/
原文は次のとおりです: (単一文字関数のみを紹介します)

TP のすべての個別関数は、プロジェクトの生成に使用される 2 つの buildAppDirs を除き、残りはフレームワーク ディレクトリ/Common/functions.php ファイルにあります。

?

TP のような 1 文字の関数を好まない人もいます。実は、これも TP の機能です。これらの関数の役割を理解すると、覚えても書いても非常に便利です。アルファベット順に開始します。

?

関数 (基本的に Action の略)

A 関数は、Action クラスをインスタンス化するために使用されます。たとえば、プログラムには IndexAction と TestAction という 2 つのアクションがあります。これを TestAction で使用したい場合は、IndexAction に myHello メソッドを使用します。同じテキストを出力した場合はどうすればよいですか?最も独創的な方法は、最初にファイル IndexAction.class.php をインポートし、次に新しい IndexAction をインポートし、最後に myHello メソッドを呼び出すことです。

コードは通常次のとおりです:

?

PHP コード
  1. ?("@.Action.Index");??
  2. //このプロジェクト ディレクトリの下の Action ディレクトリに Index.class.php ファイルをインポートします。 ??
  3. クラス?TestAction?extends?Action{??
  4. ????public?function?index()??
  5. ????{??
  6. ?????????$index=new?IndexAction(); / /Instanceiate IndexAction??
  7. ?????????echo?$index->myHello();// myHello() メソッドを呼び出します ??
  8. ????}??
  9. }??
  10. ?>??

では、A 関数を使用する場合、どのように記述すればよいでしょうか?

?

PHP コード
  1. クラス?TestAction?extends?Action{??
  2. ????public?function?index()??
  3. ????{??
  4. ??????$index=A("インデックス");??
  5. ?????????echo?$index->myHello();??
  6. ????}??
  7. }??
  8. ?>??

?

はは、コードの記述を減らしましょう。もちろん、これは最も怠惰な方法ではありません。究極の怠惰とは何かを知るために、以下の R() 関数を見てください。

?

B 関数

?

これは、B('app_begin') などの特定の動作を実行できる新しい関数です。つまり、この動作で定義されたすべての関数が実行されます。 2 つのパラメーターをサポートします。2 番目のパラメーター サポートは、B('app_begin',array("name"=>"tdweb","time"=>time())); などの配列を受け入れる必要があります。

?

C 関数

設定値を取得します。これは皆さんもよく使うはずです。 C 関数は使いやすいですが、間違いなく非常に強力な関数です。

値の取得:
すべての設定の取得: C(); はパラメーターを渡さず、すべての設定を含む配列を返します。
指定された構成を取得します: C('URL_MODEL') これにより、URL_MODEL の構成情報を取得できます:
指定された 2 次元配列構成を取得します: C("array.name")。配列配列の下のキーを名前として返します。対応する値

は値を設定します。
は C("array.name", "value") を 2 次元配列に割り当てます。上と同じ(array.nameの値を取得)、次の値は値

です

?

バッチ割り当て:?
$test=array("URL_MODEL"=>1,"THIN_MODEL"=>true");
C($test);
このように、配列は直接 の値が代入されます

?

値を割り当てるかどうかを決定します:
C("?URL_MODEL") 値が割り当てられている場合は、その前に「?」を追加します。

?

ここで設定値を変更しましたが、このページでのみ変更されます。永続的に変更したい場合は、F 機能と連携する必要があります。設定を変更するには、ファイルを config.php に書き込む必要があります。

?

D 関数

DAO関数はプログラムを書くときに最もよく使われる関数です。関数 A と同様に、関数 D を使用しない場合は、Model をインポートしてから、新しい Model をインポートする必要があります。残りは同じです。

?

ただし、D 関数には 2 つの利点があります。1 つ目は、このモデルが以前にインスタンス化されている場合はインスタンス化されなくなり、リソースが残ることです。2 つ目は、このモデルが存在しない場合、TP 例外が発生するためです。投げられるのは非常に人道的です。

このプロジェクトのモデルに直接アクセスする場合は D("モデル名") だけです。プロジェクト間でアクセスする場合は、D("モデル名", "プロジェクト名") を使用します。

と言う。

?

F関数

ファイルデータを素早く読み取って保存

?

データをすばやく保存: F ("mydata", "保存するデータは次のとおりです")。mydata.php という名前のファイルがプロジェクトの Data ディレクトリに保存され、その中のコンテンツが関数の 2 番目の部分になります。 .パラメータ。

?

保存時刻をF("mydata","保存するデータはこちらです","60")と指定し、次回のアクセスが60秒を超えた場合にキャッシュファイルを削除します。

?

保存ディレクトリを指定します: F("mydata","Here is the data to be save","60",DATA_PATH) なので、データ ディレクトリに保存するように指定します

キャッシュを直ちに削除します: F("mydata",null)、2 番目のパラメーターは null 値を渡すため、mydate のキャッシュを削除します

?

キャッシュされたデータを読み取ります: F("mydata")、したがってキャッシュを読み取ります

?

L 関数

?

言語定義関数、L("intro") は intro として定義された言語を取得し、l("intro","introduction") は intro に値を代入します。この代入の永続化に関しては、原理は同じです。 C関数。

?

R 関数

?

特定のメソッドを実行したいだけの場合は、実際には R 関数を

に置き換えることができることを思い出してください。
PHP コード
  1. クラス?TestAction?extends?Action{??
  2. ????public?function?index()??
  3. ????{??
  4. ??????$index=R("インデックス", "myHello ");??
  5. ??????エコー?$index;??
  6. ????}??
  7. }??
  8. ?>??

? ははは、簡単じゃないですか?

?

S 関数

グローバル キャッシュの読み書き関数は C と似ていますが、Temp ディレクトリに直接書き込まれます。ただし、キャッシュ名が aaa の場合は注意点が 1 つあります。この場合、キャッシュによって生成されるファイル名は md5( "aaa") 値になります。これは注目に値します。

U 関数

?

U 関数は、主に URL を組み立て、さまざまなモードとルートをサポートします。

?

例:

現在のモジュールのアクション アドレスを取得します: U("/nowMethod");
現在のモジュールのアクション アドレスを取得し、パラメーターを渡します: U("/nowMethod?params=テスト");

?

(上記の方法に慣れていない場合は、U("/nowMethod", array("params"=>"test"); を使用して配列でパラメーターを渡すこともできます。効果は同じです)

他のモジュールにアクセスするメソッド: U("Other/otherMethod")、これは Other モジュールの下の otherMethod メソッドにアクセスする方法です。

プロジェクト間アクセス: U("appname://Other/otherMethod") ;
ルート アクセスを使用します: U("appName://routeName@moduleName/actionName?params");

?

また、直接ジャンプしたい場合は、U("/nowMethod",1); のように第二引数に 1 を書き込むと、指定した URL に直接転送されます

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