خرید فالوور اینستاگرام خرید لایک اینستاگرام
اطـلاعیه بـروزرسانی و تـخفیف هـای ویژه سـایت :
خانه / آموزش PHPبه صورت حرفه ای و پروژه محور

آموزش PHPبه صورت حرفه ای و پروژه محور

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

  • در مورد زبان اسکریپتی 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
  • تمرین

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

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

فصل ۳ : انواع مختلف داده ها و متغیرها در 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
  • تمرین

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

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

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

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

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

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

فصل ۷ : تعامل 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
  • تمرین

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

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

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

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

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

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

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

  • توابع از پیش تعریف شده ی PHP و مزایای استفاده از آنها
  • نحوه ی جستجوی توابع مختلف PHP و یافتن توابع مورد نیاز شما
  • کار با تاریخ و زمان :
  • دریافت و فرمت بندی تاریخ کنونی سرور  و تبدیل timestamp به تاریخ
  • دریافت زمان و ساعت کنونی سرور به شکل timestamp
  • دریافت زمان کنونی به میکروثانیه
  • ساخت یک شئ از کلاس تاریخ
  •  ساخت یک شئ تاریخ با فرمت دلخواه
  • دریافت منطقه ی زمانی
  • تنظیم کردن منطقه ی زمانی
  • افزودن یک مقدار (ساعت،روز،ماه …) به یک تاریخ
  • کم کردن و تفریق یک بازه ی زمانی از یک تاریخ
  • دریافت اختلاف زمانی بین دو تاریخ مختلف
  • انجام تغیرات در تاریخ
  • نمایش یک تاریخ با فرمت خاص
  • دریافت اجزاء مختلف تاریخ (روز، ماه، سال، ثانیه، دقیقه، ساعت و …)
  • دریافت زمان طلوع خورشید
  • دریافت زمان غروب خورشید
  • تنظیم ساعت در یک تاریخ
  • دریافت برچسب زمانی (timestamp) یک تاریخ
  • تبدیل یک رشته ی تاریخ  به timestamp
  • دریافت اطلاعات و اجزاء مختلف تاریخ کنونی سرور
  • دریافت اجزاء مختلف تاریخ (ساعت، روز، ماه و …)  به صورت عدد صحیح
  • بهره گیری و استفاده از تاریخ فارسی با کتابخانه ی jdf
  • مینی پروژه : نمایش تاریخ به صورت زمان گذشته شده تا کنون (مثال : ۲ ماه و ۳ روز پیش)
  • تمرین
  • کار با رشته ها :
  • دریافت طول یک رشته
  • افزودن اسلش ها به رشته و دلیل انجام اینکار
  • تبدیل کد حروف به کاراکتر و برعکس
  • شکستن یک رشته به تکه های کوچکتر با سایز مشخص
  • نمایش اطلاعات در مورد حرف های رشته ی متنی
  • محاسبه ی 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 سرور

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

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

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

  • معرفی سیستم مدیریت پایگاه داده ی MySQL
  • آشنایی با ابزار PhpMyAdmin و مدیریت جداول پایگاه داده به صورت دستی
  • انجام ۴ عمل اصلی پایگاه داده (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 به خاطر منسوخ شدن آن از ورژن ۵٫۵ php به بعد
  • آشنایی کلی با رابط MySQLi
  • تشریح نحوه اتصال به پایگاه داده از طریق رابط MySQLi
  • آشنایی کلی با رابط PDO
  • تشریح نحوه اتصال به پایگاه داده از طریق رابط PDO
  • اجرای کوئری های دلخواه بر روی دیتابیس از طریق PHP و رابط MySQLi
  • مینی پروژه : ایجاد صفحه ای برای اجرای بیش از ۲۰ کوئری مختلف SQL بر روی پایگاه داده با شیوه ای جالب
  • تمرین

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

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

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

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

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

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

فصل ۱۷ : شئ گرایی در 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 و نحوه ی جستجو برای یادگیری کاربرد آنها
  • طراحی ساختار کلاس های وسایل نقلیه
  • مینی پروژه : طراحی و پیاده سازی ساختار کلاس بندی اشیاء هندسی مختلف و تشریح مفاهیم پیشرفته ی شی گرایی در بستر آن
  • مینی پروژه : طراحی کلاس های وسایل نقلیه و تشریح مفاهیم شئ گرایی در روند پیاده سازی آن
  • تمرین

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

  • تشریح بعضی مطالب تکمیلی و جامانده
  • راه حل های رفع مشکل نمایش ؟؟؟؟؟ به جای حروف فارسی
  • پاسخ به برخی از سوالات مطرح شده
  • انجام 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
  • آیا استفاده از فریمورک ها ضروری است ؟

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

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