PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : این تابع داستانش چیه؟



naghmesra
September 10th, 2017, 20:44
سلام و درود

بچه ها تابع زیر آرگومانش اون WP_REST_Request که پست متغییر request نوشته یعنی چی؟



function my_awesome_func( WP_REST_Request $request ) {
$param = $request['some_param'];
$param = $request->get_param( 'some_param' );
$parameters = $request->get_params();
$parameters = $request->get_url_params();
$parameters = $request->get_query_params();
$parameters = $request->get_body_params();
$parameters = $request->get_json_params();
$parameters = $request->get_default_params();
$parameters = $request->get_file_params();
}



بعد توی تابع هم متغییر request انگار یه آبجکته.

یه توضیحی درباره این اگر بدین ممنون میشم.

تشکر

T.Toosi
September 10th, 2017, 21:14
سلام، متغیر request آبجکتی از کلاس WP_REST_Request هست (در تابع بالا متغیر به صورت Type Hinting پاس داده شده است برای همین به این شکل است)، کلاس WP_REST_Request برای ارسال Request های HTTP است، کاربرد تابع شما هم برای زمانی است که قبلا یک Request ای توسط WP_REST_Request ارسال شده است سپس آبجکت آن به تابع بالا پاس داده شده است که با متد های get_params، get_header و .. میتوانید پارامتر های ارسال شده یا هیدر و .. را دریافت کنید.

naghmesra
September 10th, 2017, 21:20
سلام، متغیر request آبجکتی از کلاس WP_REST_Request هست (در تابع بالا متغیر به صورت Type Hinting پاس داده شده است برای همین به این شکل است)، کلاس WP_REST_Request برای ارسال Request های HTTP است، کاربرد تابع شما هم برای زمانی است که قبلا یک Request ای توسط WP_REST_Request ارسال شده است سپس آبجکت آن به تابع بالا پاس داده شده است که با متد های get_params، get_header و .. میتوانید پارامتر های ارسال شده یا هیدر و .. را دریافت کنید.

یعنی الان این تابع بدون اتچ شدن به هیچ کدوم از هوک های وردپرس این آبجکت رو به ما برمیگردونه؟

T.Toosi
September 10th, 2017, 21:36
یعنی الان این تابع بدون اتچ شدن به هیچ کدوم از هوک های وردپرس این آبجکت رو به ما برمیگردونه؟

وردپرس از این کلاس برای rest api خودش استفاده می کند(Core class هست) ساخته شده فقط Request بفرستید و جواب را بگیرید، حالا من منظور شما از اتچ شدن به هوک متوجه نشدم اما ***** هایی داریم مثل rest_request_from که اگر استفاده کنید می توانید مثلا متد from_url این کلاس را قبل استفاده تغییر دهید.

naghmesra
September 10th, 2017, 21:43
وردپرس از این کلاس برای rest api خودش استفاده می کند(Core class هست) ساخته شده فقط Request بفرستید و جواب را بگیرید، حالا من منظور شما از اتچ شدن به هوک متوجه نشدم اما ***** هایی داریم مثل rest_request_from که اگر استفاده کنید می توانید مثلا متد from_url این کلاس را قبل استفاده تغییر دهید.

صحیح.

منظورم این بود که تابعی که بنده الان در پست اول تاپیک گذاشتم رو باید به ***** یا اکشن خاصی ادد کرد یا نه همین طوری که استفاده بشه اون آرگومان تابع که متغییر request هست دارای مقدار هستش؟

T.Toosi
September 10th, 2017, 21:58
صحیح.

منظورم این بود که تابعی که بنده الان در پست اول تاپیک گذاشتم رو باید به ***** یا اکشن خاصی ادد کرد یا نه همین طوری که استفاده بشه اون آرگومان تابع که متغییر request هست دارای مقدار هستش؟

همانطور که گفتم برای استفاده از تابع بالا قبلش حتما یک شی از کلاس WP_REST_Request لازم است یعنی قبلا یک Request با استفاده از کلاس WP_REST_Request فرستادیم سپس شی آن را به تابع بالا میدیم برای تجزیه و تحلیل یا .. می توانید از کلاس WP_REST_Request مستقیم در Function قالب استفاده کنید وابسه به هوک ای هم نیست، اگر هم در پلاگین میخواهید از این کلاس استفاده کنید ابتدا باید wp-includes/rest-api/class-wp-rest-request.php فراخوانی کنید.