Rumah >rangka kerja php >ThinkPHP >Panduan untuk mengatur fungsi abjad ThinkPHP
Artikel ini membawa anda pengetahuan yang berkaitan tentang thinkphp Ia terutamanya memperkenalkan isu berkaitan tentang fungsi huruf, termasuk kaedah A, B, C, D, dll. Saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: "pembelajaran thinkphp "
digunakan untuk membuat instantiate pengawal secara dalaman , format panggilan:
// A('[项目://][分组/]模块','控制器层名称')$User = A('User');$User = A('Admin://User');
Selepas menghidupkan pengawal, anda boleh memanggil kaedah dalam pengawal Walau bagaimanapun, perlu diperhatikan bahawa dalam kes panggilan merentas projek, jika kaedah operasi anda mempunyai Akan ada beberapa masalah yang tidak diketahui mengenai operasi pembolehubah khas pengawal semasa Oleh itu, secara amnya, pegawai mengesyorkan bahawa lapisan pengawal yang memerlukan panggilan awam dibangunkan secara berasingan tanpa terlalu banyak kebergantungan.
Ini ialah fungsi baharu yang wujud dengan gelagat dan boleh melaksanakan gelagat tertentu Contohnya,
B('app_begin');
adalah untuk melaksanakannya sebelum ini projek bermula. Menyokong 2 parameter. Parameter kedua perlu menerima tatasusunan, seperti
B('app_begin', ["name" => "tdweb","time"=>time()]);
Kaedah C ialah kaedah Think untuk menetapkan, mendapatkan dan menyimpan parameter konfigurasi Digunakan dengan lebih kerap .
Parameter konfigurasi yang ditetapkan secara dinamik tidak sensitif huruf besar-besaran, tetapi disyorkan untuk mengekalkan spesifikasi definisi konfigurasi dalam huruf besar seragam.
C('DB_NAME','think');
Menyokong tetapan parameter konfigurasi sekunder Tidak disyorkan bahawa parameter konfigurasi melebihi tahap kedua. Contohnya:
C('USER.USER_ID',8);
Jika anda ingin menetapkan berbilang parameter, anda boleh menggunakan tetapan kelompok, contohnya:
$config['user_id'] = 1;$config['user_type'] = 1;C($config);
Jika parameter konfigurasi masuk kosong, ini bermakna untuk mendapatkan semua parameter:
$config = C();
Kaedah D haruslah kaedah yang lebih biasa digunakan untuk membuat instantiate kelas model tersuai Ia adalah sejenis enkapsulasi bagi kelas Model Fikirkan rangka kerja. Dan melaksanakan mod tunggal, menyokong panggilan merentas projek dan kumpulan Format panggilan adalah seperti berikut:
D('[项目://][分组/]模型','模型层名称')
Nilai pulangan kaedah ialah objek model yang dibuat segera. Kaedah
D boleh mengesan kelas model secara automatik Jika kelas model tersuai wujud, kelas model tersuai akan dijadikan instantiated Jika ia tidak wujud, kelas asas Model akan digunakan. untuk model yang telah dibuat instantiated , tidak akan instantiated berulang kali. Penggunaan kaedah
D yang paling biasa adalah untuk membuat model tersuai bagi projek semasa, contohnya:
// 实例化 User 模型$User = D('User');
Kaedah F sebenarnya ialah S kaedah Fungsi subset, hanya digunakan untuk caching data mudah, dan hanya boleh menyokong bentuk fail dan tidak menyokong tempoh sah cache Kerana ia menggunakan kaedah pemulangan, kecekapannya lebih tinggi daripada kaedah S, jadi kami juga memanggilnya cache cepat kaedah.
Ciri-ciri kaedah F ialah:
DATA_PATH
(pemalar ini terletak di bawahF('data','test data');RUNTIME_PATH.'Data/'
dalam konfigurasi lalai), yang bermaksud nama fail akan dijana sebagai DATA_PATH .'data .' fail cache. Nota: Pastikan pengecam cache anda adalah unik untuk mengelakkan penindasan dan konflik data. Pada kali seterusnya anda membaca data cache, gunakan:
Kami boleh menyimpannya dalam subdirektori, contohnya:$Data = F('data');akan menjana
DATA_PATH.'user/data.'
Fail cache, jika subdirektori pengguna tidak wujud, ia akan dibuat secara automatik juga boleh menyokong subdirektori berbilang peringkat, contohnya:F('user/data',$data); // 缓存写入F('user/data'); // 读取缓存
Jika. anda perlu tentukan Direktori permulaan cache boleh digunakan dengan cara berikut:
F('level1/level2/data',$data);Padam cache
F('data',$data,TEMP_PATH);Kaedah G Kaedah G termasuk penandaan statistik kedudukan dan selang Dua fungsi, mari kita lihat penggunaan khusus:
F('data',NULL);
Penggunaan pertama kaedah G adalah untuk menandakan kedudukan, contohnya:
bermaksud menukar lokasi semasa ditandakan dengan tag mula, dan masa pelaksanaan lokasi semasa direkodkan Jika persekitaran menyokongnya, penggunaan memori juga direkodkan. Penanda kaedah G boleh dipanggil di mana-mana sahaja. Statistik masa berjalanG('begin');
Selepas menandakan kedudukan, kita boleh memanggil kaedah G sekali lagi untuk statistik selang, contohnya:
G('begin ' ,'end')
bermaksud mengira masa pelaksanaan dari kedudukan mula hingga kedudukan akhir (unit ialah saat mestilah kedudukan yang telah ditandakan jika kedudukan akhir belum ditandakan pada masa ini). kedudukan semasa akan secara automatik Kedudukan ditandakan sebagai teg tamat, dan hasil output adalah serupa dengan:G('begin'); // ...其他代码段G('end'); // ...也许这里还有其他代码 // 进行统计区间echo G('begin','end').'s';
Ketepatan statistik lalai ialah 4 tempat perpuluhan Jika anda merasakan bahawa ketepatan statistik ini tidak cukup, anda juga boleh menetapkannya sebagai:
0.0056sStatistik overhed memoriJika persekitaran anda menyokong statistik penggunaan memori, anda juga boleh menggunakan kaedah G untuk melaksanakan statistik overhed memori selang (unit ialah kb), contohnya:
G('begin','end',6).'s';Ketiga Gunakan m untuk setiap parameter untuk melaksanakan statistik overhed memori Hasil output mungkin:
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框架》
Atas ialah kandungan terperinci Panduan untuk mengatur fungsi abjad ThinkPHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!