آموزش PHP

پیش نیازهای این دوره

دوره آموزش طراحی وب HTML – CSS
دوره آموزش جاوا اسکریپت و جی کوئری

PHP  چیست ؟

PHP در ابتدا، مخفف واژگان Personal Home Page بود که در سال 1994 توسط Rasmus Lerdorf نوشته شد. PHP یک زبان برنامه نویسی متن باز است که امروزه به صورت گسترده برای توسعه طراحی وب استفاده می شود. پی اچ پی روی سرور اجرا می شود و به صورت رایگان در اختیار عموم قرار دارد.

PHP یک زبان محبوب و قدرتمند است، به همین دلیل :

هسته بزرگترین سیستم تولید محتوای جهان (وردپرس) با زبان برنامه نویسی PHP توسعه پیدا کرده است.

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

PHP چه کارهایی می تواند انجام دهد ؟

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

چرا PHP را یاد بگیریم ؟

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

سرفصل های دوره جامع آموزش برنامه نویسی PHP

برای جمع آوری این سرفصل ها بیش از 30 ساعت وقت مفید صرف شده است تا یکی از کاملترین و جامع ترین دوره های آموزشی PHP را در تابستان 93 برگزار کنیم . با مشاهده و مطالعه ی سرفصل های این دوره جامع بودن آن را درک خواهید کرد . بعید می دانیم در هیچ آموزشگاه حضوری، زبانPHP  با این جزئیات تدریس شود . استفاده از مینی پروژه ها، تمرین ها و پروژه های جامع باعث می شود تا مفاهیم PHP را به صورت کاملا عمقی درک و در عمل استفاده نمایید .

دانلود سرفصل ها به تفکیک جلسات ویدیویی

فصل 1 : مقدمه ، پیشنیازها و آماده سازی محیط کار

در مورد مدرس در مورد زبان اسکریپتی PHP مقایسه ی زبان های برنامه نویسی و زبان های نمادگذاری PHP و چرایی انتخاب این زبان زبان های Server-Side در مقابل Client-Side تاریخچه ی PHP معرفی کلی دوره و هدف نهایی آن پیشنیازها ی دوره آماده سازی محیط برنامه نویسی سیستم عامل مرورگر راه اندازی وب سرور محلی (Local) مجموعه ی AMP : Apache , MySQL , PHP در سیستم عامل های مختلف نصب WAMP و پیکربندی آن در ویندوز یافتن فولدر ریشه (root) وب سرور محلی و مدیریت فایل های برنامه ها پیکربندی PHP و MySQL تست وب سرور محلی و دیدن اطلاعات و ویژگی های PHP  نصب شده انتخاب ویرایشگر و محیط توسعه ی برنامه های PHP (IDE) در مورد PhpStorm و Notepad++ : دانلود  و نصب آن ها آموزش نکات و تکنیک های مهم ویرایشگر PhpStorm تنظیمات PhpStorm ایجاد و ویرایش پروژه کلیدهای میانبر مهم در PhpStorm ضبط ماکرو ها و استفاده از آنها برای کدنویسی سریعتر تکنیک هایی برای افزایش سرعت و دقت در کدنویسی (emmet plugin) موارد متفرقه در مورد PhpStorm تمرین

فصل 2 : قرارداد ها، شروع کدنویسی حساب شده و مفاهیم پایه !

فرمت فایل های زبان PHP آشنایی با کدگذاری فایل ها : Utf-8 در مقابل ASCII مفاهیم پایه صفحات وب ایستا (Static) در مقابل صفحات وب پویا (Dynamic) دو جزء اساسی تشکیل دهنده ی یک برنامه : داده ها و کدها روند پردازش درخواست ها از مرورگر تا وب سرور و برعکس تگ های زبان PHP : جا دادن کدهای PHP در صفحه ی وب آشنایی با توابع echo  و print برای چاپ داده ها توضیحات (Comments) در زبان PHP تابع rand و استفاده از آن برای تولید اعداد تصافی در طول برگذاری این دوره کدنویسی استاندارد و قراردادهای این دوره ی آموزشی استاندارد تعین نام ها استاندارد تعین کامنت ها استاندارد تعین فرمت ها رعایت نظم و فرورفتگی ها (Indentation) در کدنویسی شیوه ی پوشه بندی و ساختار فایل های این دوره فایل های کمکی مورد استفاده در این دوره پوشه ی common فایل styles.css فایل common.js فایل common.php تمرین

فصل 3 : انواع مختلف داده ها و متغیرها در PHP

داده های دنیای پیرامون ما متغیر در زبان های برنامه نویسی چیست ؟ نحوه ی تعریف متغیرها : صریح در مقابل ضمنی قواعد نامگذاری صحیح متغیرها مثال هایی از نامگذاری های صحیح و غلط برای متغیرها انواع مختلف متغیرهای PHP متغیرهای رشته ای (String) متغیرهای عددی صحیح (Integer) متعیرهای عددی اعشاری (Float) متغیرهای بولین (Boolean) متغیرهای آرایه ای (Array) نوع های خاص : NULL و empty متغیرهای ارجاعی (Pointer) تخریب و از بین بردن متغیر ها با دستور unset تشخیص نوع متغیرها با تابع gettype() تغیر نوع متغیر با تابع settype() توابع چک کردن نوع متغیرها is_int is_string is_bool is_float is_array is_numeric is_null is_empty تبدیل نوع متغیرها (Type Casting) ثابت ها در زبان PHP ثابت های مهم و کاربردی از پیش تعریف شده در PHP کار با متغیرهای رشته ای تفاوت استفاده از تک کوتیشن و دابل کوتیشن در اطراف رشته ها ( ‘ و  “) استفاده ی ترکیبی از متغیرها و داده ها در کدهای PHP تمرین

فصل 4 : عملگرها در PHP : انجام اعمال مختلف بر روی داده ها و متغیرها

عملگر چیست ؟ انواع عملگرها در زبان PHP عملگرهای ریاضی و محاسباتی عملگرهای رشته عملگرهای مقایسه ای عملگرهای منطقی عملگرهای بیتی عملگرهای انتساب عملگرهای خاص : ++ و – بررسی عملگرها با مثال های مختلف اولیت اعمال عملگرهای مختلف تمرین

فصل 5 : ساختارهای کنترلی : شرط ها و عبارت های منطقی

مقدمه و آشنایی با عبارت های شرطی در زبان های برنامه نویسی بلاک بندی کد با استفاده از آکولادها عبارت شرطی if عبارت های else  و else if عبارت شرطی switch نقش دستور break در ساختار switch عبارت و عملگر شرطی ? ارائه ی مثال های مختلف برای درک عمقی از نحوه ی استفاده از شرط ها مینی پروژه 1 : محدود کردن نمایش محتوا بر اساس سن و جنسیت کاربر مینی پروژه 2 : نوشتن یک ماشین حساب با دستورات شرطی مختلف در زبان PHP تمرین

فصل 6 : ساختارهای کنترلی : حلقه ها و آرایه ها

مقدمه و آشنایی با حلقه ها و آرایه ها در زبان های برنامه نویسی آرایه ها و متغیرهای مجموعه ای آرایه های عددی در مقابل آرایه های Associative مفهوم iteration در حلقه ها ساختار حلقه for و بخش های مختلف آن ساختار حلقه foreach و کاربرد آن تفاوت حلقه های for و foreach ساختار حلقه while و نکات مهم در نحوه ی استفاده از آن ساختار حلقه do...while و تفاوت آن به حلقه ی while استفاده از حلقه های تو در تو برای پردازش داده ها و آرایه های چند بعدی کاربرد دستورات Continue و Break مینی پروژه : تعیین جایگاه نشستن تماشاگران با توجه به جنسیت آنها ! تمرین

فصل 7 : تعامل Html ، PHP  و Javascript : با Ajax حرفه ای شوید !

در این فصل مفاهیم در قالب ساخت رابط کاربری یک وبلاگ تدریس می شوند . لود و استفاده از فایل های PHP در همدیگر تشریح توابع include و include_once تشریح توابع require و require_once مروری بر زبان نماد گذاری HTML استفاده از تگ های HTML برای نمایش بهتر خروجی کدهای PHP استفاده از تگ های فرمت بندی متن در خروجی های PHP ایجاد خروجی های پویا و متغیر استفاده از حلقه های PHP و تگ table برای نمایش خروجی به صورت جدولی نمایش شرطی ویژگی ها و تگ های HTML و کلاس های CSS مروری بر زبان جاوااسکریپت تشریح کاربردهای زبان جاوااسکریپت نحوه ی استفاده از کدهای جاوا اسکریپت در صفحات PHP نحوه ی انتقال و استفاده از داده ها و مقادیر php در کدهای جاوااسکریپت جی کوئری (jQuery) و سهولت در نوشتن کدهای جاوااسکریپت ! بررسی اعتبار داده های ورودی کاربر توسط جاوااسکریپت (جی کوئری) نمایش پیام هشدار پیش از انجام عملیات حساس،  با استفاده از جاوااسکریپت تکنولوژی Ajax چیست ؟ مزایا و معایب استفاده از Ajax موارد استفاده ی صحیح و اشتباه از تکنولوژی Ajax آموزش به کارگیری Ajax به همراه PHP با استفاده از کتابخانه ی جی کوئری نمایش تصویر و یا متن لودینگ در هنگام ارسال درخواست Ajax مینی پروژه : جستجو در لیست اسامی و پیشنهاد نتایج در هنگام تایپ با استفاده از Ajax تمرین

فصل 8 : کار با فرم ها و داده های ورودی کاربران

توضیحی در مورد ورودی ها و خروجی ها در زبان های برنامه نویسی دریافت ورودی ها در زبان PHP تشریح کاربرد و عملکرد فرم ها در صفحات وب تفاوت دو متد Post و Get در ارسال داده ها به سمت سرور ساختار ارسال داده ها با متد Get در Url ها (QueryString Structure) ساختار یک فرم در زبان Html اجزاء مختلف تشکیل دهنده ی فرم های Html تگ form فیلدهای متنی (Text) فیلدهای ناحیه ی متنی (Textarea) فیلد های انتخاب گزینه (radio button , checkbox) فیلد های لیستی (Select) فیلد آپلود فایل (File) فیلدهای مخفی (Hidden) دکمه ها (Button , Submit) لیبل ها (Label) دریافت اطلاعات ارسال شده از فرم ها در PHP مینی پروژه : ساخت یک فرم ثبت نام برای ذخیره سازی اطلاعات افراد و ارسال داده ها به سمت PHP تمرین

فصل 9 : آرایه های سوپرگلوبال PHP و کاربرد آنها

منظور از آرایه های SuperGlobal چیست ؟ انواع آرایه ها فوق سراسری و کاربرد آنها در زبان PHP آرایه ی $_GET آرایه ی $_POST آرایه ی $_REQUEST آرایه ی $_FILE آرایه ی $_SERVER نحوه ی دریافت و پردازش اطلاعات ارسال شده از طریق فرم ها در زبان PHP اعتبارسنجی ورودی های کاربر و رفع خطرات احتمالی از ورودی های خطرناک در PHP جلوگیری از ارسال مجدد فرم ها و مشکل ذخیره سازی و پردازش مجدد داده ها مینی پروژه : نمایش اطلاعات ارسال شده از طریق فرم ثبت نام با ظاهری مرتب تمرین

فصل 10 : توابع : تعریف توابع دلخواه توسط برنامه نویس

تابع چیست و چرا باید از توابع استفاده کرد ؟ ساختار نوشتاری توابع PHP قواعد نامگذاری توابع پارامترها یا ورودی های توابع PHP مقدار بازگشتی (خروجی) توابع مثالی که مزایای استفاده از توابع را نشان می دهد . نوع پارامتر های توابع PHP (مقداری و ارجاعی) محدوده اعتبار متغیرها (Scope) و متغیرهای سراسری (global variables) مقداردهی پیشفرض برای پارامترهای تابع تعریف تابع با تعداد متغیری از پارامترهای ورودی تولید مقادیر چندگانه توسط یک تابع نحوه ی دسترسی به متغیرهای سراسری چک کردن وجود یا عدم وجود تابع با نام خاص مفهوم توابع بازگشتی و مثالی کاربردی از آن مینی پروژه : شبیه سازی خط تولید خودرو در فازهای مختلف کارخانه تمرین

فصل 11 : توابع : توابع از پیش تعریف شده در PHP

توابع از پیش تعریف شده ی PHP و مزایای استفاده از آنها نحوه ی جستجوی توابع مختلف PHP و یافتن توابع مورد نیاز شما کار با تاریخ و زمان : دریافت و فرمت بندی تاریخ کنونی سرور  و تبدیل timestamp به تاریخ دریافت زمان و ساعت کنونی سرور به شکل timestamp دریافت زمان کنونی به میکروثانیه ساخت یک شئ از کلاس تاریخ ساخت یک شئ تاریخ با فرمت دلخواه دریافت منطقه ی زمانی تنظیم کردن منطقه ی زمانی افزودن یک مقدار (ساعت،روز،ماه ...) به یک تاریخ کم کردن و تفریق یک بازه ی زمانی از یک تاریخ دریافت اختلاف زمانی بین دو تاریخ مختلف انجام تغیرات در تاریخ نمایش یک تاریخ با فرمت خاص دریافت اجزاء مختلف تاریخ (روز، ماه، سال، ثانیه، دقیقه، ساعت و ...) دریافت زمان طلوع خورشید دریافت زمان غروب خورشید تنظیم ساعت در یک تاریخ دریافت برچسب زمانی (timestamp) یک تاریخ تبدیل یک رشته ی تاریخ  به timestamp دریافت اطلاعات و اجزاء مختلف تاریخ کنونی سرور دریافت اجزاء مختلف تاریخ (ساعت، روز، ماه و ...)  به صورت عدد صحیح بهره گیری و استفاده از تاریخ فارسی با کتابخانه ی jdf مینی پروژه : نمایش تاریخ به صورت زمان گذشته شده تا کنون (مثال : 2 ماه و 3 روز پیش) تمرین کار با رشته ها : دریافت طول یک رشته افزودن اسلش ها به رشته و دلیل انجام اینکار تبدیل کد حروف به کاراکتر و برعکس شکستن یک رشته به تکه های کوچکتر با سایز مشخص نمایش اطلاعات در مورد حرف های رشته ی متنی محاسبه ی checksum  از رشته ی ورودی crypt : تابعی برای در هم ریزی (hash) رشته md5,md5_file : توابعی برای در هم ریزی (hash) رشته و فایل sha1,sha1_file : توابعی برای در هم ریزی (hash) رشته و فایل جداسازی بخش های یک رشته بر اساس یک رشته ی جداکننده چسباندن تمام اعضای یک آرایه و تبدیل آنها به یک رشته تبدیل کاراکترهای html به کاراکترهای اجرایی برعکس تابع html_entity_decode تبدیل کاراکترهای خاص html به کاراکترهای اجرایی برعکس تابع htmlspecialchars_decode کوچک کردن اولین حرف رشته حذف فاصله ها (یا حروف خاص) از اطراف رشته ها تبدیل کاراکترهای خط جدید به تگ br در html تجزیه کردن رشته به متغیرها تجزیه کردن یک url و دریافت اجزای آن چاپ یک رشته به صورت فرمت بندی شده محاسبه ی میزان شباهت بین دو رشته پر کردن یک رشته تا طول خاص با رشته ای دیگر جایگزین کردن یک رشته ی دلخواه با بخشی از رشته تکرار یک رشته به تعداد دلخواه جا به جا کردن حروف رشته به صورت تصادفی شکستن یه رشته به رشته های کوچکتر و قرار دادن در آرایه دریافت اطلاعات مربوط به تعداد تکرار کلمات در رشته یافتن اولین رخداد یک رشته در رشته ی بزرگتر یافتن موقعیت رخداد یک رشته در رشته ی بزرگتر مقایسه ی بین دو رشته تهی کردن رشته از تگ ها html و php دریافت تعداد تکرار یک زیررشته در رشته ی بزرگتر کوچک و بزرگ کردن حروف رشته دریافت یک زیر رشته از رشته ی بزرگتر احاطه کردن رشته با رشته ای دیگر در تکه هایی با اندازه ی مشخص فشرده سازی و کاهش سایز رشته ها مینی پروژه : ایجاد یک ویرایشگر متن php به کمک Ajax تمرین کار با آرایه ها : ساخت یک آرایه شمارش تعداد عناصر آرایه چک کردن وجود یک کلید در آرایه چک کردن حضور یک مقدار در آرایه دریافت همه یا بخشی از کلید های یک آرایه دریافت همه ی مقادیر موجود در آرایه تغیر حروف همه ی کلیدهای آرایه شکستن آرایه به چند بخش ایجاد یک آرایه با ترکیب دو آرایه ی کلیدها و مقادیر دریافت تعداد تکرار اعضای آرایه بدست آوردن تفاوت دو آرایه با همدیگر پر کردن بخشی از آرایه با مقادیر خاص فیلتر کردن اعضای ارایه با استفاده از یک تابع callback جابجایی کلیدها و مقادیر یک آرایه با همدیگر محاسبه ی اشتراک دو آرایه ادغام و اجتماع دو آرایه مخلوط کردن آرایه به صورت تصادفی توابع مرتب سازی آرایه ها پرکردن آرایه از مقادیر تا طول خاص اضافه کردن یک عنصر به انتهای آرایه برداشتن آخرین عضو آرایه محاسبه ی حاصل جمع و ضرب کل عناصر آرایه برداشتن یک یا چند عنصر از آرایه به صورت تصادفی و رندم جایگزینی عناصر آرایه با عناصر یک آرایه ی دیگر معکوس کردن آرایه جستجو در آرایه دریافت یک زیر آرایه از آرایه ی بزرگتر حذف عناصر تکراری از آرایه اعمال یک تابع برای اجرا بر روی تک تک عناصر آرایه پیمایش در عناصر آرایه استخراج متغیر از اعضای آرایه مینی پروژه : مدیریت و فیلتر کردن جدول مخاطبین تلفن تمرین کار با فایل ها : ایجاد فایل و فولدر در سرور دریافت اطلاعات کامل یک فایل دریافت نام فایل با استفاده از مسیر آن دریافت مسیر فولدر حاوی فایل از مسیر آن چک کردن وجود یا عدم وجود یک فایل چک کردن فایل/پوشه بودن یا نبودن یک فایل خواندن کل محتوای فایل و قراردادن آن در یک آرایه خواندن فایل و دریافت کل محتوای آن به عنوان یک رشته نوشتن یا اضافه کردن اطلاعات از یک رشته به درون فایل بازکردن و بستن یک فایل خواندن اطلاعات از درون یک فایل نوشتن اطلاعات در فایل دریافت سایز و فرمت (نوع) فایل آپلود و انتقال فایل بر روی سرور دریافت نام و اطلاعات فایل های موجود در پوشه ها اجبار به دانلود فایل با استفاده از php تغیر مجوزهای دسترسی به فایل کپی کردن یک فایل به آدرسی دیگر تغیر نام فایل بر روی سرور حذف فایل ها و پوشه ها دریافت اطلاعات فضای خالی وکل دیسک سرور مینی پروژه : اسکریپت فایل منیجر با قابلیت لیست کردن، ویرایش، حذف و اضافه کردن فایلها تمرین توابع متفرقه : تولید اعداد تصادفی توابع ریاضی و محاسباتی دریافت اطلاعات مربوط به میزان استفاده از رم دریافت اطلاعات میزان استفاده از CPU سرور

فصل 12  : اصول طراحی پایگاه داده (Database)

پایگاه داده (Database) و سیستم مدیریت پایگاه داده (DBMS) چیست ؟ استفاده از پایگاه داده در مقابل فایل ها انواع مختلف پایگاه های داده پایگاه های داده رابطه ای (Relational Database) مدل ER و مفاهیم پایه ی آن (Entity Relationship Model) تشریح انواع رابطه ها (1-1, n-1, n-m) تشریح مفاهیم دیتابیس (جدول، رابطه، کلیدها، فیلدها و رکوردها) ایندکس ها، کلیدهای اصلی و کلید های خارجی مفاهیم مهم در طراحی پایگاه داده اشتباهات رایج در طراحی پایگاه داده و تشریح مشکلات آن نرمال سازی جداول پایگاه داده مینی پروژه : طراحی پایگاه داده برای یک فروشگاه اینترنتی تمرین

فصل 13  : کار با پایگاه داده ی MySQL و چگونگی اتصال PHP به دیتابیس

معرفی سیستم مدیریت پایگاه داده ی MySQL آشنایی با ابزار PhpMyAdmin و مدیریت جداول پایگاه داده به صورت دستی انجام 4 عمل اصلی پایگاه داده (CRUD) در محیط PhpMyAdmin انجین های ذخیره سازی جداول و معایب و مزایای هر کدام (InnoDB vs MyISAM) معرفی ویژگی های مختلف یک ستون از جداول پایگاه داده (نام، نوع، سایز، مقدار پیشفرض و ...) تشریح انواع داده ها (DataTypes) در SQL SQL : زبانی برای درخواست اطلاعات و انجام تغیرات در پایگاه داده (Query Language) آموزش زبان SQL : آموزش انجام اعمال اصلی در پایگاه های داده (CRUD) با زبان SQL ساخت جداول پایگاه داده (Create) شرح دادن جداول پایگاه داده و دیدن اطلاعات آنها (Describe) حذف جداول پایگاه داده (Drop) خواندن اطلاعات جداول پایگاه داده  (Select) درج و ویرایش مقادیر در جداول پایگاه داده (Insert & Update) حذف مقادیر از جداول پایگاه داده (Delete) ایجاد نسخه ی بکاپ از پایگاه داده و جداول آن ریستور کردن پایگاه داده از بکاپ های گرفته شده اجرای دستورات SQL در محیط PhpMyAdmin روش های اتصال به پایگاه داده از طریق PHP با رابط های mysqli, mysql و PDO آشنایی کلی با رابط MySQL تشریح نحوه اتصال به پایگاه داده از طریق رابط MySQL عدم استفاده از رابط MySQL به خاطر منسوخ شدن آن از ورژن 5.5 php به بعد آشنایی کلی با رابط MySQLi تشریح نحوه اتصال به پایگاه داده از طریق رابط MySQLi آشنایی کلی با رابط PDO تشریح نحوه اتصال به پایگاه داده از طریق رابط PDO اجرای کوئری های دلخواه بر روی دیتابیس از طریق PHP و رابط MySQLi مینی پروژه : ایجاد صفحه ای برای اجرای بیش از 20 کوئری مختلف SQL بر روی پایگاه داده با شیوه ای جالب تمرین

فصل 14  : Cookie ها و Session ها در PHP و تفاوت کاربرد آنها

کوکی و سشن : تعریف مفاهیم و تشریح تفاوت های آن ها تشریح کاربرد های کوکی و موارد استفاده از آن توضیح در مورد آرایه ی $_COOKIE کار با کوکی ها در PHP ایجاد و تنظیم کوکی ها خواندن و استفاده از کوکی ها حذف و از بین بردن کوکی ها نحوه ی تعیین زمان انقضای کوکی ها مشاهده و مدیریت دستی کوکی ها در مرورگرهای مختلف تشریح کاربرد های سشن و موارد استفاده از آن توضیح در مورد آرایه ی $_SESSION کار با سشن ها در PHP ایجاد و تنظیم سشن ها خواندن و استفاده از سشن ها حذف و از بین بردن سشن ها هش کردن اطلاعات حساس (مثل رمزهای عبور) برای امنیت بیشتر مقایسه ی الگوریتم های مختلف هش کردن اطلاعات مینی پروژه 1 : نمایش تعداد بازدید کاربر از صفحات مختلف و نمایش کل بازدیدهای او مینی پروژه 2 : احراز هویت (Authentication) کاربران و پیاده سازی فرایند ورود و خروج با سشن ها تمرین

فصل 15  : اصول خطایابی و Debug کردن برنامه ها: مشکلات رایج و راه حل رفع آنها

سطوح مختلف خطاها و پیام ها در زبان PHP انواع مختلف خطاها در زبان PHP خطاهای نوشتاری و تجزیه ای (Syntax Errors) خطاهای مهلک (Fatal Errors) خطاهای هشداری (Warning Errors) خطاهای اطلاعاتی (Notice Errors) تشریح و توضیح انواع خطاها با ارائه ی مثال های ریز روش اصولی رفع خطاهای مختلف در PHP خطاهای رایج و راه حل رفع آنها در زبان PHP مشکلات نوشتاری در زبان PHP مشکل نمایش سورس php در مرورگر مشکل عدم نمایش خروجی کدهای PHP (فعال سازی نمایش ارورها) مشکل در ورود پارامترهای مناسب برای توابع مشکل عدم امکان تعریف دوباره ی توابع تکراری مشکل عدم امکان دسترسی به ویژگی ها و متد های یک متغیر که Object نیست مشکل شروع شدن سشن در مکان دیگر اشتباه در استفاده از عملگر انتساب به جای عملگر تست برابری مشکل در نحوه ی استفاده از عملگرهای == و === مشکلات موجود در کوئری های SQL مشکل ارسال چندباره Header و دلایل بروز آن مشکل نمایش کاراکترهای فارسی به شکل علامت سوال ؟؟؟؟؟؟؟ (در فایل ها و پایگاه داده) مینی پروژه : اشکال زدایی و رفع ده ها خطا در یک سیستم مدیریت محتوای محبوب (وردپرس) تمرین

فصل 16 : امنیت در PHP : شناسایی باگ های امنیتی و رفع آن ها

چرا و چگونه برنامه هایی ایمن بنویسیم ؟ شناخت انواع حملات و مشکلات امنیتی، پیشنیازی برای نوشتن برنامه های امن دلایل ایجاد ناامنی در برنامه های PHP و راه حل رفع انها قانون اول ! عدم اعتماد به داده ها کاربران مشکلات در پیکربندی وب سرور مشکلات ناشی از فعال بودن register_globals و نحوه ی غیر فعال سازی آن عدم تنظیم صحیح نحوه ی گزارش خطاها مشکلات موجود به دلیل عدم انتخاب انکودینگ استاندارد ساختار نامناسب برنامه برای لود کردن فایلها عدم استفاده از نام ها و مقادیر پیش فرض حذف فایل های نصب اسکریپت ها پس از اتمام مراحل نصب قابل پیشبینی بودن رفتار ، ساختار و کدهای شما و مشکلات آن غیرفعال سازی و یا استفاده ی صحیح از Powerful Commands ها در php انتخاب نوع و سایز مناسب برای ستون های جداول پایگاه داده پسوردهای ضعیف و مشکلات ناشی از آن خصوصیت های یک پسورد مطمئن و قوی مشکلات امنیتی مربوط به دیتابیس و تزریق SQL یا SQL Injection مشکلات ناشی از تزریق کد و داده های خطرناک (Cross-Site Scripting - XSS) مشکلات ناشی از دزیده شدن Session ها و Cookie ها حملات CSRF و راهکارهای مقابله با آن کهنه بودن ورژن نرم افزارها و اسکریپت ها استفاده از فریم ورک های معروف برای رفع بسیاری از نگرانی های امنیتی مشکلات موجود در هاست های اشتراکی، تهیه ی هاست از شرکت های معتبر و متخصص آماده ی حمله ی هکرها باشید ! چه مسائلی را باید همیشه رعایت کنم و به یاد داشته باشم ؟ آشنایی بیشتر با الگوریتم های کدگذاری و Hash کردن

فصل 17 : شئ گرایی در PHP و اصول برنامه نویسی Object Oriented

نگاهی به دنیای پیرامون ما مشکلات و محدودیت های برنامه نویسی Functional تشریح مفهوم شئ گرایی و مزیت های آن تاریخچه و ویژگی های برنامه نویسی OOP در زبان PHP اصول و مفاهیم برنامه نویسی شئ گرا : مفهوم ارث بری (Inheritance) مفهوم مخفی سازی (Encapsulation) مفهوم چند شکلی (Polymorphism) مفهوم انتزاع/تجرید (Abstraction) شناخت عناصر مهم در برنامه نویسی شئ گرا : طبقه بندی ها (Classes) ویژگی ها (Properties) عملیات و متد ها (Methods) اشیاء (Objects or Instances) ارائه مثال های کاربردی برای درک بهتر مفهوم شئ گرایی، کلاس های اشکال هندسی و افراد نحوه ی نامگذاری کلاس ها، ویژگی ها و متدها نحوه ی ایجاد یک کلاس در زبان PHP عناصر تشکیل دهنده ی یک کلاس (ویژگی ها و متدها) مفهوم کلمات کلیدی public  و private و protected در تعریف ویژگی ها و متدهای کلاس نحوه ی تعریف ویژگی های کلاس نحوه ی تعریف متد های (رفتارهای) کلاس نحوه ی ساختن نمونه ها (Instances) از یک کلاس تعریف شده : (کلمه کلیدی new) عملگر -> در PHP متد سازنده (Constructor) در برنامه نویسی شئ گرای PHP متد تخریب کننده (Destructor) در برنامه نویسی شئ گرای PHP مفهوم متدهای getter و setter در کلاس ها مفهوم عناصر استاتیک و کلمات کلیدی self و static در کلاس های PHP تشریح تفاوت بین $this و self نحوه ی ارث بری کلاس ها در زبان PHP (به ارث بردن ویژگی های کلاس فرزند از کلاس پدر) دسترسی به عناصر کلاس پدر با کلید parent Override کردن متدهای کلاس پدر کلیدهای const و final و دلایل استفاده از آنها توضیحات تکمیلی در مورد کاربرد های کیورد static افزودن قابلیت شمارش تعداد نمونه های ساخته شده از یک کلاس کپی کردن اشیاء با استفاده از clone عدم کپی شدن اشیاء با عملیات انتساب و رفتار این عملیات تشخیص کلاس یک شئ و نمونه ی ساخته شده با عملگر instanceof تعین نوع پارامترهای ورودی متد ها (type hinting) مقداردهی خصوصیت های خاص فرزندان یک کلاس در متد سازنده ی آن استفاده از متد سازنده ی کلاس پدر/والد در کلاس های فرزند توضیحات تکمیلی در مورد کیورد final جلوگیری از extend شدن یک کلاس با استفاده از کیورد final ثابت های جادویی برای دریافت نام کلاس، متد و فضای نام کنونی دریافت اطلاعات همه ی خصوصیات یک شئ و کلاس دریافت مشخصات همه ی متدهای یک شئ و کلاس آشنایی کلی با زبان UML و مدلسازی ساختار کلاس های یک سیستم کلاس های abstract در PHP و کاربرد آنها متدهای abstract و توضیح آن رابط ها (interfaces) و دلیل استفاده از آن ها آشنایی با مفهوم Object Iteration اصول و مفاهیم برنامه نویسی شئ گرا : مفهوم ارث بری (Inheritance) مفهوم مخفی سازی (Encapsulation) مفهوم چند شکلی (Polymorphism) مفهوم انتزاع/تجرید (Abstraction) Serialization : تبدیل اشیاء و متغیرهای مختلف به رشته و بازیابی آن ها کاربرد مهم تبدیل اشیاء به رشته و ذخیره سازی مستقیم آنها در فایل، سشن و دیتابیس دیدن کاربرد serialization در محبوبترین cms دنیا ، وردپرس دیدن تمام متدها و خصوصیت های mysqli و PDO و نحوه ی جستجو برای یادگیری کاربرد آنها طراحی ساختار کلاس های وسایل نقلیه مینی پروژه : طراحی و پیاده سازی ساختار کلاس بندی اشیاء هندسی مختلف و تشریح مفاهیم پیشرفته ی شی گرایی در بستر آن مینی پروژه : طراحی کلاس های وسایل نقلیه و تشریح مفاهیم شئ گرایی در روند پیاده سازی آن تمرین

فصل 18  : مباحث متفرقه، کاربردی و پیشرفته  

تشریح بعضی مطالب تکمیلی و جامانده راه حل های رفع مشکل نمایش ؟؟؟؟؟ به جای حروف فارسی پاسخ به برخی از سوالات مطرح شده انجام serialization دلخواه با پیاده سازی رابط Serializable از پیش تعریف شده تشریح مشکل لود کردن فایل کلاس های PHP شما برای استفاده استفاده از تابع __autoload() برای لود کردن خودکار کلاس ها استثناها و مدیریت آن ها در PHP (Exeption Handling) تشریح مفهوم استثناها در PHP و دلایل استفاده از آن ها تعریف یک کلاس برای ایجاد یک نوع خطای (استثنای) دلخواه تشریح ساختار بلاک try...catch و دلایل و نحوه ی استفاده از آن معرفی بعضی از استثناهای پیش تعریف شده ی PHP عبارت های منظم و تطبیق الگوها (Regular Expressions & Pattern Matching) تشریح مفهوم الگوها (Patterns) و دلایل استفاده از آن ها معرفی یک وبسایت برای تست عبارت های منظم به صورت آنلاین جداکننده ها، کاراکتر کلاس ها، تکرارکننده ها و ... تشریح و نوشتن الگوی چندین داده ی خاص از جمله ایمیل، آدرس، و شماره تلفن استخراج داده های خاص از یک رشته و متن بزرگ توابع PHP برای کار با عبارت های منظم استخراج تمامی ایمیل ها از یک متن بزرگ استخراج تمام url ها از یک متن بزرگ استخراج تمام شماره تلفن ها از یک متن بزرگ اعتبارسنجی و پاکسازی داده ها با استفاده از عبارت های منظم توضیح کتابخانه ی CURL و آشنایی با آن فعال سازی ماژول curl در wamp دریافت محتوای صفحات وب با استفاده از URL آنها چند مثال جالب و کاربردی در استفاده از کتابخانه ی curl : دریافت تعداد لایک ها و share های یک url در شبکه های اجتماعی با استفاده از curl دریافت محتوا و سورس کد یک url با استفاده از کتابخانه ی curl دریافت کل لینک های درون یک صفحه ی وب از طریق کدهای php دریافت کل تصاویر درون صفحه ی وب با استفاده از curl ارسال ایمیل از طریق PHP استفاده از تابع پیشفرض mail در php استفاده از کتابخانه ی phpmailer توضیح کتابخانه ی GD و آشنایی با آن فعال سازی ماژول GD در wamp ایجاد و ویرایش تصاویر در PHP با استفاده از کتابخانه ی gd چند مثال جالب و کاربردی در استفاده از کتابخانه ی GD : ساخت یک عکس مستطیلی ساده و رنگبندی آن ایجاد یک تصویر از متن ها ایجاد یک تصویر و قرار دادن متن بر روی محیط یک دایره تغیر سایز و کوچک و بزرگ کردن تصویر با استفاده از کتابخانه gd برش یا Crop کردن تصویر با استفاده از GD توضیح در مورد کدهای امنیتی (Captcha) در فرم ها منطق و نحوه ی پیاده سازی و استفاده از کدهای امنیتی (CAPTCHA) در فرم ها یک مثال کاربردی از کدهای امنیتی در یک فرم html تشریح مفهوم وب سرویس و آشنایی با کاربردهای آن استفاده از خدمات دیگر سایت ها با بهره گیری از وب سرویس آن ها توضیح در مورد Soap و رابط اتصال به وب سرویس چند مثال کاربردی در مورد استفاده از وب سرویس دریافت آب و هوای یک شهر با استفاده از وب سرویس و کدهای php دریافت اطلاعات مربوط به یک کشور خاص با php دریافت اطلاعات مربوط یه مسابقات فوتبال با استفاده از وب سرویس آن استفاده از پنل های SMS و ارسال SMS از طریق PHP با بهره گیری از وب سرویس چند نمونه مثال کاربردی : ارسال SMS، دریافت اعتبار پنل SMS و ایجاد یک مخاطب و ... درگاه پرداخت بانکی و توضیح در مورد روش و منطق پیاده سازی آن ها توضیح و تشریح ایجاد کد درگاه پرداخت پارس پال توضیح در مورد انجام کارهای اتوماتیک پس از تائید پرداخت موفقیت آمیز کاربر توضیح و تشریح کد PHP درگاه پرداخت بانک ملت نمونه کد درگاه بانک ملت به همراه سند PDF راهنمای آن فریمورک های PHP و مدل MVC آشنایی با مدل MVC توضیح دلایل استفاده از مدل MVC تشریح مفاهیم Model, View و Controller در مدل MVC و وظایف هر بخش معرفی چند مورد از فریم ورک های MVC معروف PHP آشنایی با مفهوم فریم ورک تشریح مجموعه مزایای فریمورک ها برای استفاده در پروژه های PHP توضیح یک نمونه از روند اجرای کار در فریمورک های PHP آیا استفاده از فریمورک ها ضروری است ؟

فصل 19 :  پیاده سازی پروژه های جامع، کاربردی و عملی

در این فصل با استفاده از آموخته های خود در طول دوره، از ابتدا تا انتها پروژه های عملی و کاملا واقعی را با هم پیاده سازی می نماییم . تمامی مراحل انجام پروژه شامل طراحی پایگاه داده، ایجاد پایگاه داده، ایجاد کدهای هسته ی پروژه، رعایت مسائل امنیتی و ... با زبانی ساده و کاملا روان توضیح داده می شوند . با انجام این 3 پروژه یک جمع بندی بسیار خوب از تمامی مباحث این دوره خواهید داشت و در عمل استفاده ی صحیح از آموخته های خود را خواهید دید . پس از انجام این پروژه ها به راحتی قادر خواهید بود پروژه های دیگر با موضوعات مختلف را نیز پیاده سازی نمایید . تشریح مراحل و گام های انجام یک پروژه ی واقعی پروژه های جامع Functional :

پروژه 1 : ایجاد یک سیستم پرسش و پاسخ (Ticketing System)

اهداف پروژه ی 1 :

آشنایی با نحوه طراحی و ایجاد پایگاه داده برای این اسکریپت آشنایی با نحوه ی نمایش، ثبت، حذف و ویرایش یک موجودیت (محتوا - سوال/جواب ) در پایگاه داده آشنایی با نحوه ی پیاده سازی برنامه بر اساس پارامترها و ایجاد راحتی بیشتر در تغیرها بعدی آشنایی با نحوه ی پیاده سازی عملیات ورود و خروج کاربر (ادمین) آشنایی با نحوه ی پیاده سازی قابلیت جستجو برای سایت (فرم جستجو) آشنایی با منطق و نحوه ی صفحه بندی مطالب (سوالات) در برنامه های PHP آشنایی با نحوه ی مدیریت سیستم بر روی رابط کاربری اصلی و عدم استفاده از پنل مدیریت آشنایی با برخی ترفندهای امنیتی در پیاده سازی برنامه های PHP آشنایی با نحوه ی آگاه سازی کاربران از طریق ایمیل و SMS پس از رویدادی خاص

پروژه 2 : ایجاد یک وبسایت گالری و فروش تصاویر با امکان پرداخت آنلاین و خرید تصاویر

اهداف این پروژه :

آشنایی با نحوه طراحی و ایجاد پایگاه داده برای این اسکریپت آشنایی با نحوه ی نمایش، ثبت، حذف و ویرایش موجودیت ها (کاربر، تصویر، سفارشات و ... ) در پایگاه داده آشنایی با نحوه ی پیاده سازی برنامه بر اساس پارامترها و ایجاد راحتی بیشتر در تغیرها بعدی آشنایی با نحوه ی پیاده سازی عملیات ورود و خروج کاربران موجود در پایگاه داده آشنایی با نحوه ی مدیریت سیستم در یک پنل جداگانه آشنایی با مفهوم سبد خرید و نحوه ی پیاده سازی آن آشنایی با محافت از فایل های فروشی و دانلود انها از طریق یک اسکریپت بررسی کننده ی خریدار ! آشنایی با علامت گذاری بر روی تصاویر برای جلوگیری از دانلود تصاویر اصلی و نمایش دمو از آنها آشنایی با نحوه ی پیاده سازی قابلیت فراموشی رمز عبور و ریست کردن پسورد کاربر آشنایی با نحوه ی دسته بندی محتوا در وبسایت ها آشنایی با نحوه ی گزارش گیری از داده های موجود در پایگاه داده با کوئری ها SQL آشنایی با نحوه ی استفاده از درگاه پرداخت و انجام عملیات اتوماتیک پس از پرداخت موفقیت آمیز (شبیه سازی درگاه پرداخت) آشنایی با میزان پردازش کار ها در PHP و راه حل هایی برای نوشتن کدهایی بهینه تر از لحاظ منابع مصرفی آشنایی با مسائل موجود در هنگام پرداخت آنلاین و استفاده از سبد خرید (قفل سبد، مشکل کوکی به تنهایی و ...) انجام تمرین برای شما و تکمیل برخی قسمت های پروژه پروژه ی جامع شئ گرا :

پروژه 3 :  ایجاد سیستم مدیریت محتوا (وبلاگ) با برنامه نویسی OOP

قابلیت ها و امکانات این پروژه (وبلاگ - cms) :

وجود یک کاربر ادمین برای مدیریت محتوای وبلاگ قابلیت ورود و خروج کاربر ادمین به وبلاگ وجود یک پنل مدیریت که فقط کاربر ادمین می تواند به آن دسترسی داشته باشد کارهایی که در پنل مدیریت می توان انجام داد عبارتند از : ارسال یک مطلب جدید در دسته بندی خاص مدیریت مطالب شامل حذف و ویرایش مطالب ارسال شده مدیریت دسته بندی های وبلاگ مدیریت نظرات مطرح شده برای مطالب قابلیت حذف، تائید کردن و عدم تائید دیدگاه های ارسالی قابلیت افزودن منوی جدید از طریق پنل مدیریت و نمایش آن در سایدبار وبلاگ قابلیت حذف و ویرایش منوهای سایت قابلیت مشخص کردن ترتیب نمایش منو ها در سایدبار قابلیت ویرایش و حذف منوها از طریق پنل مدیریت وجود صفحه ی تنظیمات وبلاگ در پنل مدیریت قابلیت تغیر و آپدیت کردن تنظیمات وبلاگ قابلیت هایی که در نمای ظاهری وبلاگ (CMS) وجود دارد : نمایش آخرین مطالب ارسالی در صفحه نخست وبلاگ قابلیت نمایش مطالب یک دسته بندی خاص قابلیت جستجو در مطالب وبلاگ با تطبیق دقیق عبارت جستجو شده قابلیت صفحه بندی مطالب وبلاگ (بخشی از آن به عنوان تمرین به شما محول شده) قابلیت نمایش منوهای جستجو و دسته بندی ها در سایدبار سایت قابلیت نمایش منوی های دلخواه ایجاد شده در پنل مدیریت بر اساس ترتیب آنها قابلیت نمایش مطلب در یک صفحه ی خاص و جداگانه (صفحه مطلب) قابلیت ارسال نظر و دیدگاه برای مطالب وبلاگ قابلیت لایک کردن نظرات بازدیدکننده ها (دقیقا شبیه همین چیزی که در بخش نظرات سون لرن داریم) هر کاربر فقط 1 بار می تواند به یک نظر رای(لایک) دهد . محدودیتی برای مدیر وبلاگ در لایک کردن نظرات وجود ندارد و به هر تعداد می تواند لایک کند امکان فعال کردن و غیرفعال کردن قابلیت لایک نظرات از طریق پنل مدیریت

فصل 20 : جمع بندی، ادامه کار و توصیه های مهم

جمع بندی مباحث دوره توصیه هایی برای حرفه ای تر شدن مشخص نمودن مسیر آینده ی شما : بعد از پایان این دوره چه کنم ؟

جلسات دوره

عملگرها در PHP

1 ساعت و 38 دقیقه

نظر دانشجویان دوره های سون لرن

سلام جناب دكتر واقعا در طول شايد ده سال وبگردي در هيچ كدام از سايتها كلاسهاي غير حضوري با اين كيفيت نديده بودم . شايد هنوز فرصت نكردم همه قسمتهاي آموزش خوب شما را ببينم ولي با توجه به چند قسمتي كه ديدم و عالي بودن مطمئنم مشت نمونه خروار است . اميدوارم سعادت داشته باشم در دوره هاي آموزشي بعدي حاضر باشم موفق باشيد

payman3

از نحوه بیان و تدریس خود آقای کیوان علی محمدی راضی هستم. اما از سرعت پاسخگویی به سوالات دانشجوها خیر. که فکر میکنم به دلیل مشغله های زیاد ایشون باشه.

mas

مشاوره پیش از خرید

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

شماره تماس
۰۲۱۴۴۰۲۰۴۸۲
تلگرام
@sup_7learn

ثبت نام در دوره

نوع دوره
دوره مجازی
نوع استفاده از دوره
دوره دانلودی
۱۵۷,۰۰۰ تومان
گزارش مشکل