کار با کتابخونه klein php

- 3 ماه پیش
توسط علی بیات آپدیت شد
علیرضا کشاورز ( 15790 تجربه )
3 ماه پیش
تخصص : بیکار

سلام خستنه باشید
کتابخونه klein تو حالت عادی برای من هدر انجام نمیده مثل دستور زیر

$klein = new KleinKlein();

$klein->respond('GET', '/user', function () {
    header('location:admin/index.php');
//include_once  'controller/cindex.php';
});

خب من مطمئنم کتابخونه هدر داره چندجاشو دیدم و چون زبانم ضعیفه و خیلی با کتابخونه ها کارنکردم میشه برام همچین چیزی پیدا کنین و اگه زحمتی نبود نحوه کارکردشو بزارین:)
اینم لینک مستندات کتابخونه
https://github.com/klein/klein.php
راستی یه دستوری هم داره به صورت زیر نمیدونم کاربرش چیه

$klein->dispatch()
بهترین پاسخ انتخاب شده توسط علیرضا کشاورز
علی بیات
3 ماه پیش

درود
این کتابخونه ۳ تا آبجکت در اختیار شما میذاره..

  • request
  • response
  • service
    البته به جز validator که در اینجا باهاش کاری نداریم.

برای استفاده از قابلیت های این Router باید از ۳ تا آبجکت بالا استفاده کنید. مثلا ارسال header ها در آبجکت response انجام میشه... به مثال در مستندات زیر دقت کنید:

$request->
    headers()                           // Return the headers collection

$response->
    sendHeaders($override = false)                  // Send the HTTP response headers
    sendCookies($override = false)                  // Send the HTTP response cookies
    header($key, $value = null)                     // Set a response header

پس برای کاری که شما می‌خواهید انجام بدید.. کدتون شبیه به زیر میشه...

<?php

$route = new \Klein\Klein();

$route->respond('GET', '/user', function ($request, $response) {
    $response->header('location','admin.index.php');
    include_once  'controller/cindex.php';
});

$klein->dispatch();

اما در مورد dispatch:
همون طور که می‌بینید این پکیج بصورت یه کلاس هست و ما از کلیدواژه new برای نمونه‌سازی (instantiation) این کلاس استفاده می‌کنیم. پس روال کار به این شکله:

  • کلاس رو فراخوانی می‌کنیم.
  • با متد respond آدرس‌های مورد نظرمون رو (چه GET و چه POST و ...) اضافه می‌کنیم.
  • و در نهایت اون‌هارو اجرا یا dispatch می‌کنیم.

در واقع بدون استفاده از dispatch هیچ Route ی به سیستم اضافه نمیشه

موفق باشید

علی بیات ( 195617 تجربه )
3 ماه پیش
تخصص : توسعه دهنده ارشد وب

درود
این کتابخونه ۳ تا آبجکت در اختیار شما میذاره..

  • request
  • response
  • service
    البته به جز validator که در اینجا باهاش کاری نداریم.

برای استفاده از قابلیت های این Router باید از ۳ تا آبجکت بالا استفاده کنید. مثلا ارسال header ها در آبجکت response انجام میشه... به مثال در مستندات زیر دقت کنید:

$request->
    headers()                           // Return the headers collection

$response->
    sendHeaders($override = false)                  // Send the HTTP response headers
    sendCookies($override = false)                  // Send the HTTP response cookies
    header($key, $value = null)                     // Set a response header

پس برای کاری که شما می‌خواهید انجام بدید.. کدتون شبیه به زیر میشه...

<?php

$route = new \Klein\Klein();

$route->respond('GET', '/user', function ($request, $response) {
    $response->header('location','admin.index.php');
    include_once  'controller/cindex.php';
});

$klein->dispatch();

اما در مورد dispatch:
همون طور که می‌بینید این پکیج بصورت یه کلاس هست و ما از کلیدواژه new برای نمونه‌سازی (instantiation) این کلاس استفاده می‌کنیم. پس روال کار به این شکله:

  • کلاس رو فراخوانی می‌کنیم.
  • با متد respond آدرس‌های مورد نظرمون رو (چه GET و چه POST و ...) اضافه می‌کنیم.
  • و در نهایت اون‌هارو اجرا یا dispatch می‌کنیم.

در واقع بدون استفاده از dispatch هیچ Route ی به سیستم اضافه نمیشه

موفق باشید

برای ارسال پاسخ باید وارد سایت شوید