سلام بر تمام برنامه نویسان علاقه مند به یادگیری codeigniter
بعد از مدتها این فرصت برایم مهیا شد تا با آماده کردن یک مجموعه عملی codeigniter در خدمت شما باشم.
این مجموعه برای برنامه نویسانی تهیه شده که قصد دارند از برنامه نویسی با php بصورت خالص(pure php) به سمت استفاده از فریم ورک ها بروند. codeigniter یکی از بهترین فریم ورک های یادگیری سریع است. در واقع اگر فریم ورک های دیگر را تست کرده اید و راهنمای آنها برای شما گنگ و نا مفهوم بوده اند، codeigniter را بسیار زیبا و سریع و خوش دست خواهید یافت.
در این مجموعه ویدیویی سعی شده تا علاوه بر آموزش خود فریم ورک یک سری تکنیکها و توضیحات تکمیلی نیز ارائه شود. مثلا در جلسه سوم طرح طراحی دیتابیس یک cms ریخته میشود و بعد برای پیشرفته تر شدن آموزش relation database با توضیحات کامل و نمونه مثال آورده شده است. یا در قسمت captcha نحوه لود captcha بصورت ajax توضیح داده شده است.
البته این مجموعه شامل تمام ریز نکات codeigniter نمی شود(هر چند در ابتدا تلاشم بر آن بود لاکن زمان یاری نکرد) ولی در طی ۲۵ فیلم آموزشی که هر کدام بین ۱۰ تا ۲۵ دقیقه متغیر هستند به آموزش نکات اصلی مثل کار با دیتابیس، email، encryption، pagination و حتی در موارد پیشرفته تر نحوه استفاده از کلاس template جانبی برای ایجاد master page پرداخته شده است.
البته نمیتوان جلسه ۲۵ را پایان این مجموعه دانست چون در اولین فرصت میخواهم درباره grid view و نحوه نصب یک نمونه از بهترین های ان برای علاقه مندان بپردازم.
بیشترین دلیل و انگیزه برای ساخت این ویدیوی آموزشی تقاضای دوستانی بود که بصورت ایمیل یا تلفنی راهنمایی برای یاد گرفتن فریم ورک میکردند. لذا من هم به این دوستان پیشنهاد میدادم فقط به سمت codeigniter بروند و خوب یاد بگیرند. اما در همان روز یا چند روز دیگر مجددا با من تماس گرفته و تقاضای معرفی یک راهنمای سریع یا فیلم آموزشی را داشتند. لذا من هم مجموعه لینکی را برای این دوستان ارسال میکردم. همیشه یکی از دغدغه هایم بود چرا از دانسته های اندک خودم جهت تهیه یک فیلم آموزشی برای انتشار در سایت برنامه نویس بهره نبرم. تا هم کار خیری کرده باشیم(ذکات علم) و هم دوستان جدیدی که تمایل به یادگیری دارند از آن استفاده کنن. ولی این اول داستان بود و حتی تهیه این مجموعه به ۲ماه هم طول کشید(کاری که پیش خودم گفتم یک هفته ای جمعش میکنم).
بعد از انتشار این ویدوی آموزشی آقای امیر فتحی بر طبق فیلمهای آموزشی جزوه مفیدی تهیه کردند. چنانچه بعضی قسمتهای فیلم آموزشی برای شما نا مفهوم بود میتوانید به جزوه آموزشی مراجعه کنید و جزئیات را در آنجا مطالعه کنید(لینک دانلود فایل pdf در انتهای همین پست).
در کل خوشحالم که این فرصت را یافتم تا در خدمت شما دوستان باشم. سخن کوتاه میکنم تا به معرفی هر کدام از قسمتهای فیلم آموزشی بپردازم.
- آموزش 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 میپردازد.- جزوه آموزشی codeigniter منطبق با فیلمهای آموزشی(نوشته امیر فتحی)
همچنین این مجموعه آموزشی در سایت مکتبخونه قرار گرفت. با تشکر از دوستان سایت مکتبخونه.
دانلود مستقیم از مکتبخونه
با تشکر از سایت p30download.com. میتوانید از p30download هم دانلود کنید
دانلود آموزشی کدایگنایتر به زبان فارسی
فایلهای همراه:
۱- کلاس pdo ویرایش شده
۲- کلاس Template
۳- تمپلیت نمونه
دوستانی که با دانلود از dropbox مشکل دارن میتونند از یکی از سرویسهای زیر دانلود کنن
mediafire
box.com
copy.com
google drive
onedrive
yandex.com
خوشحال خواهم شد تا نظرات خوبتان را درباره این مجموعه بیان کنید. چرا که امید است این آموزشها ادامه داشته باشد و شاید کار انجام شده برای آموزش فریم ورک دیگری نیز تکرار شود.