دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • خرداد

جلسه ۱۹ : آموزش مدیریت و حل خطاها در CakePHP

  • دسته‌بندی‌ها :
جلسه ۱۹ : آموزش مدیریت و حل خطاها در CakePHP
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و آن دسته از کاربرانی که به زبان PHP علاقه دارند. این دوره آموزش CakePHP مخصوص آن ها تهیه شده تا مهارت و تسلط خود را بر این زبان با یادگیری CakePHP به حد کمال برسانند و با کمک آن به یک برنامه نویس حرفه ای در عرصه PHP تبدیل شوند. در جلسه گذشته آموختیم که چگونه می توان هویت کاربران را در CakePHP تایید کرد. در ادامه این دوره آموزش مدیریت و حل خطاها در CakePHP را به منظور رسیدگی به مشکلات احتمالی در این فریم ورک ارائه می نماییم.

      آموزش مدیریت و حل خطاها در CakePHP

      اگر سیستم برنامه شما دچار مشکل شده است باید این مشکلات را به صورت موثر به منظور اجرای هر چه بهتر سیستم تان حل نمایید.
      CakePHP دارای نمایش دهنده خطایی است که مشکلات و خطاهای موجود در برنامه را به نمایش می گذارد.
      هشدار دهنده CakePHP خطاها را یافته و آن ها را به دام می اندازد.
      این هشدار دهنده هنگامی که خطاهای debugدر حالت true و خطاهای logs در حالت false باشند آن ها را نمایش می دهند.
      cakePHP دارای کلاس هایی است که در یافتن و مدیریت این خطاها کمک می کنند.

      پیکربندی خطاها و مشکلات

      خطاها و مشکلات را می توان در config\app.php پیکربندی نمود.
      مدیریت خطاها در CakePHP دارای یک سری آپشن های خاصی است که می توان آن ها را از همان ابتدا مرتب و دسته بندی کرده و سپس در رفع آن ها دست به اقدام زد.

      به جدول زیر توجه نمایید

      آپشننوع دادهتوضیحات
      errorLevelintاین سطح از خطاها، خطاهایی هستند که شما مایل به دست یابی به آن ها هستید .
      برای استفاده از آن، built-in را در php به کار ببرید و bitmasks برای انتخاب سطح خطایی که می خواهید استفاده کنید.
      traceboolاین آپشن شامل stack traces برای تشخیص خطاهای موجود در فایل log است. stack traces o خود بعدها log after در هر یک از خطاها می شود.
      این آپشن برای یافتن خطاهای where/when مفید می باشد.
      exceptionRendererstringاین کلاس مسئول ارائه خطاها است.
      اگر یک کلاس custom را انتخاب کنید بهتر است فایل را برای آن کلاس در src/Error جایگذاری نمایید. این کلاس نیاز به اجرای یک روش ()render دارد.
      logboolهنگامی که حالت true تعیین شده باشد آن گاه خطاها و stack traces آن ها به Cake\Log\Log وارد می شوند.
      skipLogarrayاین کلاس اجازه ورود هیچ array را نمی دهد.
      این آپشن برای حذف NotFoundExceptions یا دیگر پیام های معمولی مفید است.
      extraFatalErrorMemoryintاز این آپشن برای تنظیم مجدد تعداد مگابایت برای افزایش محدودیت حافظه زمانی که ممکن است موجب بروز خطای مهلک شود؛ استفاده می گردد.

      مثال

      تغییر زیر را در فایل config/routes.php همانطور که در کد زیر نشان داده است اعمال نمایید.

      config/routes.php

      مثال : 

      یک فایل ExpsController.php  در src/Controller/ExpsController.php بسازید و  سپس کد زیر را در فایل کنترل کننده کپی کنید.

      src/Controller/ExpsController.php

      مثال : 

      یک دایرکتوری Exps در src/Template ایجاد کنید و  یک View file زیر دایرکتوری فراخوانی شده  index.ctp بسازید و سپس کد زیر را در فایل کنترل کننده کپی کنید.

      src/Template/Exps/index.ctp

      مثال : 

      مثال بالا را با مراجعه به URL زیر اجرا نمایید.

      http://localhost:85/CakePHP/exception/5/0

      خروجی

      پس از اجرا، خروجی زیر را دریافت خواهید کرد.

       آموزش مدیریت و حل خطاها در CakePHP

      آموزش مدیریت و حل خطاها در CakePHP

      کلام آخر

      در این جلسه به  آموزش مدیریت و حل خطاها در CakePHP پرداختیم.
      جلسه بعد آموزش Logging در CakePHP خواهیم پرداخت.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۱۹ : آموزش مدیریت و حل خطاها در CakePHP
      به اشتراک بگذارید