کدایگنایتر (به انگلیسی Codeigniter) یکی از مجبوبت‌ترین فریم‌ورک‌های زبان برنامه نویسی PHP می‌باشد که طرفداران بسیاری در جهان دارد.

کدایگنایتر به واسطه سادگی که دارد یاد گرفتن آن بسیار ساده تر از سایر فریم ورک‌های دیگر است.

codeigniter علاوه بر سادگی دارای پرفورمنس بالایی هست که باعث توجه بیشتر برنامه نویسان پی اچ یپ به این فریم ورک شده است.

کدایگنایتر از ساختار برنامه نویسی مدل، ویو، کنترولر یا همون MVC پشتیبانی می‌کند.

کدایگنایتر توسط شرکت Ellislab پشتیبانی می‌شود.

آموزش ویدیویی فارسی فریم‌ورک کدایگنایتر

آموزش ویدیویی فارسی فریم‌ورک کدایگنایتر

در این پکیج آموزشی کدایگنایتر که توسط مهندس سیف‌زاده ساخته شده به مبحاث زیر پرداخته شده است :



توجه : جهت دانلود روی عنوان فصل‌ها کلیک کنید.

  • آموزش MVC و معرفی codeigniter
    در اولین قسمت به توضیحات کوتاهی درباره MVC و codeigniter‌پرداخته شده است. همچنین در این قسمت ایده دوستانی که طرفدار استفاده از pure php و فریم ورک هستند با هم مقایسه شده و توضیحات و دلایلی برای استفاده از فریم ورک آورده شده است.
  • نصب و یک مثال کوچک از نحوه استفاده
    در این قسمت به دانلود و نصب codeigniter پرداخته شده است. و همچنین بعد از نصب توضیحات کوتاه درباره کانفیگ ها پرداخته شده. در آخر یک نمونه controller ساده ساخته شده تا با روش کار MVCدر codeigniter آشنا شوید.
  • طراحی دیتابیس و آموزش relation database
    به آموزش طراحی یک cms ساده میپردازد و همچنین نحوه استفاده از relation و همچنین این که چطور با دیتابیس را طراحی کنید که در طول مدت طراحی سایت خود کمترین فشار به شما وارد آید و تغییرات را در کمترین زمان اعمال کنید
  • کانفیگ codeigniter برای اتصال به دیتابیس از طریق pdo
    توصیه من به تمام برنامه نویسانی که چه از طریق pure php‌کد مینویسند و چه از طریق فریم ورک ها استفاده از pdo است. لذا در این جلسه به کانفیگ و اتصال codeigniter به pdo پرداخته شده است.
  • کار با مدل و ساخت اولین نمونه از مدل برای جدول post
    در این جلسه یک نمونه ساده و نحوه active record در codeigniter پرداخته شده است.
  • ساخت master page به کمک نصب یک کلاس template‌و نحوه کانفیگ آن
    codeigniter بصورت پیشفرض master page‌ندارد. لذا عده ای با قرار دادن header , footer در تمام صفحات اقدام به ساخت master page‌میکنند. همچنین عده ای از برنامه نویسان برای codeigniter نمونه های مختلف از master page را نوشته اند که با تست بیشتر آنها بهترین نمونه را برای این مجموعه بکار گرفتم.
  • جدا کردن بخش admin‌و web و اتصال آنها به یک system مرکزی
    در واقع با این تکنیک شما دو نمونه مختلف از پروژه خود خواهید داشت . در بیشتر پروژه ها نیاز به پنل admin و بخش عمومی که همان صفحات سایت است می باشد. لذا در این قسمت سعی شده تا این دو قسمت پروژه از هم جدا شده و به یک پوشه system مرکزی متصل شوند.
  • استفاده از فرم های codeigniter و ساخت یک فرم لاگین
    در این مجموعه به نحوه استفاده از helper فرم و همچنین طراحی یک نمونه صفحه لاگین برای ورود به سایت پرداخته شده است. همچنین نحوه گرفتن داده در قسمت controller‌نیز پرداخته شده است.
  • دریافت داده صحیح از فریم ها(validation) و نمایش خطای داده اشتباه بصورت خودکار
    یکی از اصول امنیت گرفتن داده معتبر از کاربر است. مثلا کاربر در پر کردن ایمیل حتما باید یک ایمیل استاندارد پر کند. همچنین شما نباید خودتان را درگیر validation و نوشتن توابعی برای چک کردن ایمیل کنید. همچنین نمایش خطا در صورت اشتباه پر کردن یک مقدار را بگذارید به عهده codeigniter.
  • تکمیل بخش لاگین - چک کردن کاربر برای وجود در دیتابیس و اقدامات بعدی
    برای وجود کاربر درون دیتابیس میتوان روشهای زیادی انجام داد مثلا count کرد یا بررسی کرد کاربری با این نام کاربری و رمز عبور درون دیتابیس وجود دارد یا نه. در این جلسه به بررسی وجود کاربر و نوشتن یک مدل لاگین میپردازد.
  • استفاده از session 
    در این قسمت بعد از بررسی درست بودن نام کاربری و رمز عبور برای این که کاربر بتواند درون پنل ادمین گردش کند از session‌ بهره گرفته میشود.
  • استفاده از cookie و کانفیگ آن
    در کنار session به معرفی و نحوه تایین اعتبار از طریق کوکی پرداخته شده است.
  • استفاده از کلاس encryption
    داده هایی را که در cookie‌و session قرار داده اید نیاز به امنیت بیشتر دارند. در این قسمت به کانفیگ و معرفی کلاس رمزنگاری codigniter پرداخته شده است.
  • ساخت My_Controller
    بعضی کارهای قرار است بصورت خودکار در تمام صفحات تکرار شود. مثلا چک کردن وضعیت لاگین کاربر admin. با ساخت یک My_Controller که از کلاس CI_Controller مشتق شده میتوانید تمام این موارد خودکار را به codeigniter واگذار کنید.
  • سپردن موارد تکراری به My_Controller
    هدف My_Controller اجرای خودکار کارهای تکراری بود. لذا در این قسمت به نحوه سپردن وضعیت لاگین به My_Controller پرداخته میشود.
  • اضافه کردن یک پست جدید به درون جدول post - طراحی فرم و گرفتن مقدار
    البته هدف صرفا طراحی فرم و ریختن مقدارهای درون جدول post نبوده. بلکه اگر فیلم قسمت سوم را دیده باشید به ارتباط جدول post با کاربر و category پی برده اید. لذا این جلسه و جلسه بعدی به این آموزش این موارد میپردازد.
  • اضافه کردن یک پست جدید به درون جدول post - ارتباط ها
    برای اضافه کردن یک post جدید باید category آنرا انتخاب کنید و از لحاظ طراحی استاندارد یک cms یک post میتواند به چنیدن category تعلق داشته باشد.
  • کمی کنکاش و چالش
    در این جلسه به بررسی نحوه کوئیری در wordpress‌میپردازد و همچنین طرح اولیه نحوه گرفتن داده برای نشان داده پستها.
  • کوئیری بهینه تر
    اگر شما هم مثل من در طراحی یک مکانیسم و کوئری بهینه تر وسواس دارید حتما این قسمت را نیز ببینید. البته کلیاتش همان جلسه قبلی است ولی سعی در بهینه سازی برداشت داده از دیتابیس دارد.
  • نشان دادن داده های استخراج شده
    داده های واکشی شده از دیتابیس در دو جلسه قبلی در این جلسه به کاربر نشان داده میشود.
  • ویرایش داده های ذخیره شده
    چالش جلسه ۱۶ و ۱۷ این بود که باید category ها به کاربر نشان داده میشد و بسته به انتخاب کاربر(تیک زدن موارد) درون دیتابیس ارتباطی بین آن پست و category‌هایی که عضو آن بوده برقرار میشد. اما در این جلسه به غیر لود تمام موارد آن موارد باید بیابید که این پست جرو کدام category بوده(چک باکس از قبل تیک خرده) و حالا شاید کاربر بخواهد category آنرا عوض کند.
  • راه اندازی Captcha
    codeigniter چنین امکانی دارد. البته کامل نیست و نیاز به کمی دستکاری شما دارد. البته در این جلسه به نحوه لود captcha از طریق ajax پرداخته شده است.
  • آپلود فایل
    codeigniter امکانات خوب و سریعی برای آپلود فایل دارد.
  • pagination
    داده های زیاد باید صفحه بندی شوند. شما که نیخواهید در صفحه اول سایتت تان یکدفعه ۲۰۰ تا پست به کاربر نشان دهید. همچنین کاربر باید آزاد باشد براحتی پست های قدیمی شما را نیز ببیند.
  • ارسال ایمیل
    در این جلسه به نحوه طراحی یک contact form میپردازد.   
  • فایلهای همراه:
    1. ۱- کلاس pdo ویرایش شده     ۲- کلاس Template       ۳- تمپلیت نمونه