Heim > Artikel > PHP-Framework > Leitfaden zum Organisieren alphabetischer ThinkPHP-Funktionen
Dieser Artikel vermittelt Ihnen relevantes Wissen über thinkphp, der hauptsächlich verwandte Themen zu Buchstabenfunktionen, einschließlich A-, B-, C-, D-Methoden usw., vorstellt. Ich hoffe, dass er für alle hilfreich ist.
Empfohlenes Lernen: „thinkphp learning“
wird verwendet, um den Controller intern zu instanziieren, das Aufrufformat:
// A('[项目://][分组/]模块','控制器层名称')$User = A('User');$User = A('Admin://User');
Nach dem Instanziieren des Controllers können Sie die Methode im Controller aufrufen, aber Es ist zu beachten, dass bei projektübergreifenden Aufrufen einige unbekannte Probleme auftreten, wenn Ihre Betriebsmethode über spezielle Variablenoperationen für den aktuellen Controller verfügt. Daher erfordert die offizielle Empfehlung im Allgemeinen öffentliche Aufrufe unabhängig entwickelt und weist nicht zu viele Abhängigkeiten auf.
Dies ist eine neue Funktion, die mit dem Verhalten entsteht und ein bestimmtes Verhalten ausführen kann.
B('app_begin');
besteht beispielsweise darin, alle durch dieses Verhalten definierten Funktionen auszuführen, bevor das Projekt beginnt. Unterstützt 2 Parameter, der zweite Parameter muss ein Array akzeptieren, z. B.
B('app_begin', ["name" => "tdweb","time"=>time()]);
C-Methode ist Thinks Methode zum Festlegen, Abrufen und Speichern von Konfigurationsparametern und wird häufiger verwendet.
Bei dynamisch eingestellten Konfigurationsparametern wird die Groß-/Kleinschreibung nicht beachtet, es wird jedoch empfohlen, die Konfigurationsdefinitionsspezifikationen in einheitlichen Großbuchstaben beizubehalten.
C('DB_NAME','think');
Unterstützt die Einstellung sekundärer Konfigurationsparameter. Es wird nicht empfohlen, dass die Konfigurationsparameter die zweite Ebene überschreiten. Beispiel:
C('USER.USER_ID',8);
Wenn Sie mehrere Parameter festlegen möchten, können Sie Batch-Einstellungen verwenden, zum Beispiel:
$config['user_id'] = 1;$config['user_type'] = 1;C($config);
Wenn die eingehenden Konfigurationsparameter leer sind, bedeutet dies, dass alle Parameter abgerufen werden müssen:
$config = C();
D-Methode Es gibt viele Methoden zum Instanziieren benutzerdefinierter Modellklassen. Es handelt sich um eine Kapselung der Modellklasseninstanziierung durch das Think-Framework und implementiert den Singleton-Modus, der projektübergreifende und Gruppenaufrufe unterstützt. Das Aufrufformat ist wie folgt
Methode Der Rückgabewert ist das instanziierte Modellobjekt. D-Methode kann die Modellklasse automatisch erkennen, wenn sie nicht vorhanden ist, wird das Modell nicht instanziiert werden wiederholt. Gehen Sie zur Instanziierung. Die häufigste Verwendung der D-Methode besteht darin, ein benutzerdefiniertes Modell des aktuellen Projekts zu instanziieren, zum Beispiel:D('[项目://][分组/]模型','模型层名称')F-MethodeF-Methode ist eigentlich eine Teilmenge der S-Methode, die nur zum einfachen Daten-Caching verwendet wird Es unterstützt nur das Dateiformat, unterstützt jedoch nicht die Cache-Gültigkeitsdauer. Da die Rückgabemethode verwendet wird, ist ihre Effizienz höher als die der S-Methode. Daher wird sie auch als schnelle Cache-Methode bezeichnet. Die Merkmale der F-Methode sind:
// 实例化 User 模型$User = D('User');
Wenn Sie das nächste Mal zwischengespeicherte Daten lesen, verwenden Sie:
F('data','test data');Wir können sie in einem Unterverzeichnis speichern, zum Beispiel:
$Data = F('data');generiert eine DATA_PATH.'user/data.' Cache-Datei, wenn das Benutzerunterverzeichnis dies tut nicht vorhanden Wenn es vorhanden ist, wird es automatisch erstellt. Es kann beispielsweise auch Unterverzeichnisse mit mehreren Ebenen unterstützen:
F('user/data',$data); // 缓存写入F('user/data'); // 读取缓存Wenn Sie das Startverzeichnis des Caches angeben müssen, können Sie die folgende Methode verwenden:
F('level1/level2/data',$data);Löschen Cache
F('data',$data,TEMP_PATH);G-Methode
G-Methode Die Funktion umfasst zwei Funktionen: Markierungsposition und Intervallstatistik. Schauen wir uns die spezifische Verwendung an:
Position markierenDie erste Verwendung der G-Methode besteht darin, die Position zu markieren. Beispiel:F('data',NULL);bedeutet, die aktuelle Position als Start-Tag zu markieren. Es zeichnet auch die Ausführungszeit des aktuellen Standorts und, sofern die Umgebung dies unterstützt, die Speichernutzung auf. G-Methodenmarker können überall aufgerufen werden. LaufzeitstatistikNachdem wir die Position markiert haben, können wir die G-Methode erneut aufrufen, um Intervallstatistiken durchzuführen, zum Beispiel:
G('begin');
G('begin','end')
bedeutet, dass die Ausführungszeit vom Anfang an gezählt wird Position zur Endposition (Einheit ist Sekunde), Beginn muss eine markierte Position sein. Wenn die Endposition zu diesem Zeitpunkt noch nicht markiert wurde, wird die aktuelle Position automatisch als Endmarkierung markiert. Das Ausgabeergebnis ähnelt:
G('begin'); // ...其他代码段G('end'); // ...也许这里还有其他代码 // 进行统计区间echo G('begin','end').'s';Standardstatistik Die Genauigkeit beträgt 4 Dezimalstellen. Wenn Sie der Meinung sind, dass diese statistische Genauigkeit nicht ausreicht, können Sie sie beispielsweise auch einrichten:
0.0056s
G('begin','end',6).'s';Der dritte Parameter verwendet m, um Speicher-Overhead-Statistiken darzustellen, und das Ausgabeergebnis kann sein:
625kb
正如你所见到的一样,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('语言变量',['语言值'])
M 方法用于实例化一个基础模型类,和 D 方法的区别在于:
D 方法的强大则体现在你封装的自定义模型类有多强,不过随着新版 Think 框架的基础模型类的功能越来越强大,M 方法也比 D 方法越来越实用了。
M 方法的调用格式:
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')
R 方法用于调用某个控制器的操作方法,是 A 方法的进一步增强和补充。
R 方法的调用格式:
R('[项目://][分组/]模块/操作','参数','控制器层名称')
可以通过 R 方法在其他控制器里面调用这个操作方法(一般 R 方法用于跨模块调用)
$data = R('User/detail',array('5'));
官方的建议是不要在同一层多太多调用,会引起逻辑的混乱,被公共调用的部分应该封装成单独的接口,可以借助3.1的新特性多层控制器,单独添加一个控制器层用于接口调用
S 方法还支持对当前的缓存方式传入缓存参数,例如:
S('data',$Data,3600,'File',array('length'=>10,'temp'=>RUNTIME_PATH.'temp/'));
为了更方便的输出模板文件,新版封装了一个 T 函数用于生成模板文件名。
T([资源://][模块@][主题/][控制器/]操作,[视图分层])
T 函数的返回值是一个完整的模板文件名,可以直接用于 display 和 fetch 方法进行渲染输出。
U 方法用于完成对 URL 地址的组装,特点在于可以自动根据当前的 URL 模式和设置生成对应的 URL 地址,格式为:
U('地址','参数','伪静态','是否跳转','显示域名');
在模板中使用 U 方法而不是固定写死 URL 地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。
推荐学习:《thinkphp框架》
Das obige ist der detaillierte Inhalt vonLeitfaden zum Organisieren alphabetischer ThinkPHP-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!