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



  • ۲۱
  • اسفند

جلسه ۰۵ : مفاهیم پایه در CodeIgniter

  • دسته‌بندی‌ها :
جلسه ۰۵ : مفاهیم پایه در CodeIgniter
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که دوره آموزش codeigniter را دنبال می کنند. در  جلسه قبل با فریم ورک MVC  آشنا شدیم. در این جلسه قرار است به مفاهیم پایه در codeigniter بپردازیم.  مفاهیم پایه در codeigniter شامل مفاهیم گسترده ای می شود که از جمله آن می توان به کنترل کننده ها در CodeIgniter ،نمایه ها یا view ها در codeigniter ، روش های سازنده در codeigniter ، مدل ها، مسیریاب ها و کمک کننده ها در codeigniter اشاره کرد که همگی جزء مفاهیم پایه در codeigniter هستند اما در این میان کنترل کننده ها، بیشتر از سایر مفاهیم پایه در codeigniter اهمیت دارند و به کار گرفته می شوند.
      در ادامه مفاهیم پایه را با کنترل کننده ها در codeigniter شروع می کنیم.

      مفاهیم پایه در codeigniter

      در ادامه این مبحث قرار است که به معرفی انواع مفاهیم پایه در codeigniter بپردازیم و مهمترین آنها کنترل کننده ها در codeigniter را مورد بررسی قرار دهیم.

      کنترل کننده ها در codeigniter

      از جمله مفاهیم پایه کنترل کننده ها در codeigniter می باشند. یک کنترل کننده در codeigniter یک فایل کلاس ساده است و همان طور که از نام آن پیداست به وسیله URL تمام برنامه را کنترل می کند.

      ساخت کنترل کننده ها در CodeIgniter 

      ابتدا به پوشه application / controllers بروید. در آن جا دو فایل را خواهید یافت:
      index.html
      Welcome.php

      این دو فایل همراه با codeigniter هستند.
      این دو فایل را همان طور که هستند نگه دارید و در عوض یک فایل جدید با نام “Test.php”بسازید. کد زیر را در فایل مورد نظر بنویسید:

      مثال : 

      کلاس تست ساخته شده، یک کلاس ساخته شده به نام CI_Controller را گسترش می دهد. هر زمان که بخواهید کلاس کنترل خود را ایجاد کنید این کلاس قابلیت گسترش دارد.
      به این ترتیب شما اقدام به ساخت کنترل کننده ها در codeigniter نموده اید که از جمله مفاهیم پایه در codeigniter محسوب می شوند.

      نام  گذاری کنترل کننده ها در codeigniter :

      کنترل کننده فوق را می توان از طریق URI به صورت زیر نام گذاری کرد:

      مثال : 

      کلمه “test” را در URI بالا بعد از index.php بگذارید. این نشان دهنده نام کلاس کنترل کننده است. همان طور که نام کنترل کننده تست را “Test” انتخاب می کنیم؛ این کلمه “Test” را بعد از index.php نیز می نویسیم. نام کلاس باید با حروف بزرگ نوشته شود  اما هنگامی که کنترل کننده ها را با URI نام گذاری می کنید باید از حروف کوچک نیز استفاده کنید.

      ساختار عمومی برای نام گذاری کنترل کننده به صورت زیر است:

      مثال : 

       

      روش های ایجاد و نام گذاری روش های سازنده (Constructor Method):

      بیایید کلاس زیر را ویرایش کنیم و روش نام گذاری دیگری به نام  “hello” ایجاد کنید:

      مثال : 

      کنترل کننده بالا را می توان به سه روش زیر اجرا کنید:

      پس از بازدید از اولین URI در مرورگر، خروجی را به صورت زیر خواهید دید.
      همان طور که می بینید؛ خروجی را به روش  “index” به دست آورده ایم و فقط از نام کنترل کننده در URI استفاده کرده ایم. در چنین شرایطی codeigniter این روش پیش فرض را  “index” نام گذاری می کند.

      کنترل کننده ها در CodeIgniter

      کنترل کننده ها در CodeIgniter – روشهای ایجاد سازنده

      بعد از بازدید از URI دوم در مرورگر، خروجی به دست آمده نیز شبیه به تصویر بالا خواهد بود. نام این روش استفاده شده را بعد از نام کنترل کننده در URI خواهیم گذاشت. همان طور که نام روش مزبور  “index” است ما نیز خروجی مشابهی را دریافت می کنیم.

      بعد از بازدید از URI سوم در مرورگر، خروجی به دست آمده را مطابق تصویر زیر خواهید دید. همان طور که می بینید، ما خروجی روش “hello” به دست آورده ایم زیرا ما نام “hello” را به عنوان نام روش خود، بعد از نام کنترل کننده یعنی “test” قرار داده ایم.

       مفاهیم پایه در CodeIgniter _ کنترل کننده ها در 1CodeIgniter

      نکات زیر را به خاطر داشته باشید

      • نام کلاس کنترل باید با یک حرف بزرگ شروع شود.
      • کنترل کننده باید با حروف کوچک نامیده شود.
      • از اسمی که برای نامیدن یک روش استفاده می کنید برای نامیدن کلاس والدین (parent class) استفاده نکنید زیرا این کار موجب می شود که در عملکرد (parent class) اختلال ایجاد شود.

      Views در codeigniter

      یکی دیگر از موارد مهمی که جزء مفاهیم پایه در codeigniter محسوب می شوند Views ها هستند که می توانند یک صفحه وب ساده و یا پیچیده در codeigniter باشند و از طریق کنترل کننده ها نام گذاری شوند.

      این صفحه وب می تواند شامل هدر، فوتتر، سایدبار و غیره باشد. view را نمی توان مستقیماً نامگذاری کرد.

      بیایید یک view ساده را ایجاد کنیم.
      یک فایل جدید با عنوان application/views با نام “test.php” ایجاد کنید.
      کد زیر را در این فایل کپی کنید:

      مثال : 

      کد فایل های application/controllers/test.php را همان طور که زیر نشان داده شده است، تغییر دهید:

      بارگذاری View

      view می تواند از طریق ساختار زیر بارگذاری شود:

      مثال : 

      اگر قصد ذخیره فایل view را در پوشه ی خاصی دارید؛ می توانید از ساختار زیر استفاده کنید:

      مثال : 

      لازم نیست که پیشوند آن را حتماً با PHP مشخص کنید مگر این که چیزی غیر از PHP استفاده شود.

      روش index () روش view را نامگذاری می کند و از آن جا که کدگذاری html را در فایل test.php زیر application / views / test.php ذخیره می کنیم؛ روش test را به عنوان argument برای نمایش () استفاده می نماییم.

      مثال : 

      خروجی کد بالا به شکل زیر خواهد بود:

       مفاهیم پایه در CodeIgniter

       

      مدل ها (Models) در codeigniter

      مدل ها یا Models از جمله دیگر مفاهیم پایه در codeigniter هستند.
      کلاس های مدل یا (Model classes) برای کار با اطلاعات در دیتابیس طراحی شده اند. برای مثال اگر از codeigniter برای مدیریت کاربران خود در برنامه استفاده می کنید، بنابرین باید از model class در وارد نمودن وظایف، حذف، به روز رسانی و غیره دیتاهای کاربران استفاده نمایید.

      ایجاد Model Class

      Model Classes ها در دایرکتوری application/models ذخیره می شوند.

      کد زیر نشان می دهد که چطور یک model class را بسازید:

      مثال : 

      نام Model_name نام کلاس مدل است که می خواهید آن را به کار ببرید. هر کلاس مدل باید Class CI_Model CodeIgniter را به کار برده باشد. حرف اول کلاس مدل، باید حرف بزرگ باشد.

      در زیر کد مخصوص model class کاربران را می بینید:

      مثال : 

      model class بالا باید به صورت User_model.php ذخیره شود. نلم class و نام فایل، هر دو باید ذخیره شوند.

      بارگذاری Model Loading) Model)

      Model می تواند در کنترل کننده نام گذاری شود. از کد زیر می توان برای بارگذاری هر مدلی استفاده کرد:

      مثال : 

      پس از بارگیری مدل، می توانید به سادگی آن را به صورت مثال زیر نشان دهید:

      مثال : 

      مدل های بارگیری خودکار ذر codeigniter یا (Auto-loading Models)

      ممکن است شرایطی ایجاد شود که بخواهید model classes ها را در طول برنامه خود داشته باشید. در چنین شرایطی بهتر است آن را به صورت خودکار بارگذاری کنید.

      مثال : 

      همانطور که در شکل بالا نشان داده شده است، نام model را در بخشی که می خواهید به صورت خودکار بارگذاری کنید، بفرستید و در حالی که سیستم در حالت نصب قرار دارد و در سراسر برنامه قابل دسترسی است آن را به صورت اتوماتیک بارگذاری کنید.

      کمک کننده ها (Helpers) در codeigniter

      همان طور که از نام این بخش پیداست؛ این بخش به شما کمک خواهد کرد که سیستم خود را بسازید. این بخش به وظیفه کوچکتر تقسیم می شود. در جدول زیر به تعدادی از این کمک کنندگان ذر codeigniter اشاره شده است. البته ما می توانیم که کمک کننده ها  یا (Helper) های خود را بسازیم.

      کمک کننده ها یا Helper ها معمولا در system/helpers یا application/helpers directory  ذخیره می شوند.

      کمک های سفارشی یا Custom helpers در دایرکتوری  application/helpers و کمک کننده های سیستم یا systems’ helpers در  system/helpers ذخیره می شوند.

       CodeIgniter اول application/helpers directory را بررسی می کند. اگر دایرکتوری در آن جا موجود نباشد، یا کمک کننده های در آن جا قرار داده نشده باشند؛ به جای آن ها CodeIgniter، به بررسی system/helpers/ directory شما می پردازد. به یاد داشته باشید که هر کمک کننده ای خواه custom Helper باشد، خواه System Helper، باید قبل از استفاده بارگذاری شده باشد.

      بارگذاری کمک کننده ها در codeigniter

      یک Helper یا کمک کننده را می توان به صورت زیر بارگذاری کرد:

      مثال : 

      از روش زیر می توانید برای بارگذاری URL Helper استفاده کنید:

      مثال : 

      مسیر یابی (Routing) در codeigniter

      CodeIgniter از یک سیستم یوزر فرندلی برای مسیر یابی استفاده می کند. به همین دلیل می توان مجدداً آدرس URL را راه اندازی کرد.

      به طور معمول یک رابطه یک به یک میان یک رشته URL و کنترل کننده متناظر آن در class/method وجود دارد.
      بخش های مختلف در URI به طور معمول از الگوی زیر پیروی می کنند:

      مثال : 

      • بخش اول نشان دهنده کلاس کنترل کننده ای است که باید مورد استفاده قرار گیرد.
      • بخش دوم نشان دهنده عملکرد کلاس یا روش است که باید نام گذاری شود.
      • بخش سوم و البته اضافه، نشان دهنده شناسه و هر متغیری است که به کنترل کننده منتقل می شود.

      در برخی موارد ممکن است بخواهید این مکانیزم مسیر یابی پیش فرض را تغییر دهید. codeigniter امکاناتی را فراهم می آورد که از طریق آن می توانید قوانین مسیر یابی خود را تنظیم کنید.

      سفارشی سازی قوانین مسیر یابی

      در codeigniter یک فایل خاص وجود دارد که می توانید تمام  موارد را به کمک آن مدیریت کنید. این فایل در برنامه / config / routes.php واقع شده است.
      بخشی را با نام $route  پیدا خواهید کرد که در آن می توانید قوانین مسیر یابی خود را سفارشی کنید. کلید اساسی در بخش $route تصمیم گیری در مورد این است که چه چیزی مسیر یابی شود و چه مقداری برای مسیر یابی انتخاب گردد.
      در codeigniter سه مسیر رزرو شده وجود دارد.

      مسیر یک : $route[‘default_controller’]

      اگر URI شامل هیچ دیتایی نباشد؛ این مسیر نشان می دهد که کدام یک از کنترل کننده ها باید بارگذاری شوند.  این مشکل زمانی رخ خواهد داد که افراد URL ریشه شما را بارگذاری کنند. پیشنهاد می شود که یک مسیر یاب پیش فرض داشته باشید در غیر این صورت صفحه ۴۰۴ به صورت پیش فرض ظاهر خواهد شد.

      مسیر دو : $route[‘404_override’]

      این مسیر نشان می دهد که چه نوع کنترل کننده باید بارگذاری شود اگر کنترل کننده درخواست شده پیدا نشد این صفحه خطای پیش فرض ۴۰۴ را لغو می کند.

      مسیر سه : $route[‘translate_uri_dashes’]

      همانطور که از مقدار (Boolean value) مشخص است این مسیر، دقیقا یک مسیر نیست. این گزینه به شما این امکان را می دهد که به طور خودکار با استفاده از ترسیم (‘-‘) تیک های زیر را در بخش های کنترل کننده و روش URI جایگزین کنید.

      مسیرها را می توان با استفاده از کلمات کلیدی و یا با استفاده از عبارات منظم سفارشی سازی کرد. در نظر داشته باشید که  قوانین سفارشی سازی برای مسیر یابی باید بعد از قوانین محرمانه قرار بگیرند.

      کلمات کلیدی (Wildcards) در codeigniter

      می توان از دو نوع کاراکتر به عنوان کلمات کلیدی یا wildcard  در CodeIgniter استفاده نمود:

      • (:num)
        این قطعه سعی می کند که اعداد را تطابق دهد.
      • (:any)
        این قطعه سعی می کند کاراکترها یا شخصیت ها را مطابقت دهد.

      مثال

      مثال : 

      در مثال بالا به این دلیل که کلاس “catalog” و “product_lookup” مورد استفاده قرار گرفته اند؛  کلمه “product” در بخش اول URL، و عدد در بخش دوم، توانسته اند مورد استفاده قرار بگیرند.

      عبارات منظم (Regular Expressions) در codeigniter

      مانند کلمات کلیدی (wildcards)، می توان از عبارات های منظم در بخش $route array key نیز استفاده کرد.
      اگر هر URI با عبارات منظم مطابقت داشته باشد؛ در این صورت به قسمت $route هدایت خواهد شد.

      مثال

      مثال : 

      در مثال فوق یک URI، به جای کنترل کننده  “shoes”  و روش “id_123” به صورت products/shoes/123 نام گذاری شده است.

      کلام آخر

      در این جلسه از دوره آموزشی codeigniter به صورت گسترده و جامع با مفاهیم پایه در codeigniter آشنا شدیم و انواع مفاهیم پایه در این فریم ورک را شناختیم. در جلسه بعد، قرار است که پیکربندی codeigniter را مورد بررسی قرار دهیم. همچنان با پی وی لرن همراه باشید.

      QR:  جلسه ۰۵ : مفاهیم پایه در CodeIgniter
      به اشتراک بگذارید