English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

ملخص طرق استخدام Thinkphp5 Behavior

在应用或模块下建立behavior目录,目录内建立行为类文件Test.PHP(以下以home模块为例)

namespace app/home/behavior;//注意应用或模块的不同命名空间 
class Test 
{ 
public function run(&$params)
{   
echo $params;  
}

方法一

1.在入口文件中,增加: define('APP_HOOK',true);

2.在home模块下建立tags.PHP文件定义行为

return [  
'app_init'=>
      [  
'app//home//behavior//Test', //注意行为的命名空间(下同) 
], 
'zzzzz'=>
      [//自定义标签位   
'app//home//behavior//Test', 
], 
//................. ];

3. يجب الاستماع إلى السلوك في المكان المطلوب داخل طريقة التحكم

/think/Hook::listen('app_init',$params);//参数为变量(下同) /think/Hook::listen('zzzzz',$params);//自定义

方法二

1.home模块的公共文件(common.PHP)或控制器方法内绑定行为到标签位

/think/Hook::add('app_init','app//home//behavior//Test'); /think/Hook::add('zzzz','app//home//behavior//Test');//自定义

2.控制器方法内需要的地方侦听行为

/think/Hook::listen('app_init',$params); /think/Hook::listen('zzzzz',$params);//自定义

方法三

在控制器方法内需要的地方直接执行行为

/think/Hook::exec('app//home//behavior//Test','run',$params);

方法四

在控制器方法内直接使用函数闭包

$a='函数闭包'; /think/Hook::add('zzzz',function($a){ var_dump($a);}); /think/Hook::listen('zzzz',$a);

الطريقة الخامسة

ربط فئة السلوك بملتين

1. تعريف Test.PHP كالتالي:

namespace app/home/behavior;
class Test {  
public function app_init(&$params){  
echo 'app_init';  } 
 public function app_end(&$params){   
echo 'app_end';  
}

2. ربط السلوك إلى علامة التبويب في ملفات العامة (common.PHP) للمدعوم أو داخل طريقة التحكم

/think/Hook::add('app_init','app//home//behavior//Test');
/think/Hook::add('app_end','app//home//behavior//Test');

3. يجب الاستماع إلى السلوك في المكان المطلوب داخل طريقة التحكم

/think/Hook::listen('app_init',$params); /think/Hook::listen('app_end',$params);

النهاية

ما ذكرته أعلاه هو جمع طريقة استخدام السلوك في Thinkphp5 الذي قدمته لكم المحرر، آمل أن يكون مفيدًا لكم، إذا كان لديكم أي أسئلة، فلا تترددوا في ترك تعليق، وسأقوم بالرد على أسئلتكم في أقرب وقت. شكرًا جزيلاً أيضًا للحضور على دعم موقع呐喊 لتعليمات البرمجة!

بيان: محتوى هذا المقال تم جمعه من الإنترنت، ويعود حقوق النشر لمالكه، تم جمع المحتوى من قبل المستخدمين على الإنترنت بتحميله من تلقاء نفسه، ويملك هذا الموقع حقوق الملكية، لم يتم تعديل المحتوى يدويًا، ولا يتحمل هذا الموقع أي مسؤولية قانونية متعلقة بذلك. إذا اكتشفت محتوى يشتبه في انتهاك حقوق النسخ، فلا تتردد في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال '#' بـ '@') لإبلاغنا، وقدم الدليل، وسيتم حذف المحتوى المزعوم فورًا إذا تم التحقق منه.

أنت قد تستخدمه