হুক কলব্যাক হিসাবে ক্লাসের পদ্ধতি নিবন্ধন করা


16

আমি নিশ্চিত না যে আমি এটি সঠিকভাবে করেছি কিনা।

আমি এটি বুঝতে হিসাবে:

যদি আমার কাছে ক্লাস ফু এবং স্ট্যাটিক মেথড বার থাকে তবে আমি array("foo","bar")ফাংশনটির নাম হিসাবে অ্যারে পাস করে কলব্যাক হিসাবে এটি নিবন্ধ করতে পারি ।

আমার যদি $ foo এ ক্লাসের উদাহরণ থাকে এবং মেথড বারটি কল করতে চাই আমি অ্যারেটি পাস করি array($foo,'bar')

আমার যদি ক্লাসের ভিতরে কোনও অ্যাকশন নিবন্ধন করতে হয় তবে এটি কি কাজ করবে array($this,'bar')?


3
প্রশ্ন জিজ্ঞাসার চেয়ে কোনও পরীক্ষা কি দ্রুত হবে না? ;) হ্যাঁ, আপনি এটা করতে পারেন.
ফুসিয়া

2
একটি পরীক্ষা সাহায্য করতে পারে, তবে কখনও কখনও আপনি প্রতিক্রিয়াও সন্ধান করেন। আমি মনে করি আসলে প্রশ্ন জিজ্ঞাসা করা ঠিক আছে, এবং এই নিয়ম আছে,
ওপিদের

উত্তর:


11

আমার যদি ক্লাসের ভিতরে কোনও অ্যাকশন নিবন্ধন করতে হয় তবে এটি কি কাজ করবে array($this, 'bar')?

হ্যাঁ এটা কাজ করে. $thisডক্স কলব্যাকের জন্য প্রয়োজনীয় কংক্রিটের উদাহরণটিকে উল্লেখ করছে । এটি হুবহু $fooআপনি দেওয়া উদাহরণের মতো । এটি কেবল $thisআরও কিছুটা বিশেষ, তবে এটি মূলত একইরূপ উপস্থাপন করে এবং এটি পিএইচপি-তে কলব্যাকের সাথে নির্বিঘ্নে কাজ করে।

অতিরিক্ত:

যদি আমার কাছে ক্লাস ফু এবং স্ট্যাটিক মেথড বার থাকে তবে আমি array("foo","bar")ফাংশনটির নাম হিসাবে অ্যারে পাস করে কলব্যাক হিসাবে এটি নিবন্ধ করতে পারি ।

হ্যাঁ আপনি এটি করতে পারেন, স্ট্যাটিক ফাংশনটির জন্য, আপনি এটিকে অ্যারের পরিবর্তে স্ট্রিং হিসাবেও লিখতে foo::barপারেন :, কলব্যাক্স ডক্স দেখুন । সহজ হতে পারে।


1

স্থির পদ্ধতির জন্য আপনি এটিও করতে পারেন:

['foo','bar'] 

যখন নিম্নলিখিতটি অনির্ধারিত শ্রেণিকে ধ্রুবক 'বার' দেয় :

foo::bar

উদাহরণস্বরূপ - যখন $ control_callback এর জন্য নির্দিষ্ট করা হয় wp_add_dashboard_widget

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.