این مطلب را به اشتراک بگذارید


PHP Advanced Programming

تاریخ شروع : 1391/02/21
تاریخ پایان : 1391/03/26
زمان برگزاری : 36 ساعت - پنج شنبه ها ساعت 18 الی 20 و جمعه ها ساعت 17 الی 20
پیش نیاز : دوره PHP مقدماتی
نام استاد : ......
هزینه دوره : 300,000 تومان
ثبت نام دوره

عنوان دوره : کارگاه آموزشی فوق تخصصی PHP

 

پیش نیاز : 

PHP مقدماتی

 

مخاطبین دوره :

 

1- برنامه نویسان PHP که این زبان را در حد معمول می دانند و می خواهند به دانش بسیار بالاتری در زمینه های برنامه نویسی PHPدسترسی پیدا کنند . 

2-  مدیران پروژه های نرم افزاری که می خواهند با آخرین تکنولوژی های روز دنیای برنامه نویسی PHP آشنا شوند تا بتوانند بر اساس تکنولوژی های مذکور در دوره به هدایت و راهبری افراد تیم خود بپردازند.

3-  آن دسته از برنامه نویسان وب که قصد مهاجرت به خارج از کشور را دارند و می خواهند با کلیه رموز حرفه ای برنامه نویسان در داخل و خارج از کشور آشنا شوند .

4-  معماران نرم افزارهایی که قصد آموزش و یادگیری انواع معماری های شیءگرا مانند معماری لایه ای و بکارگیری Design Pattern در پروژه ها را دارند نیز از مخاطبین این دوره ها هستند .

 

مهمترین اهداف دوره :

 


1-    تسلط بر کلیه جنبه های شیءگرایی در PHP

2-  تسلط بر Design Pattern های شیءگرا جهت افزایش Reusability و Reliability

3-  با استفاده از Smarty می توانند کدهای نوشته شده PHP را از Design  مربوط به صفحات جداسازی نمایند.

4-  با استفاده از معماری لایه ای بتوانند به نظام دهی منسجم و مرتب سازی و پیکره بندی پروژه های خود بپردازند .

5-  با استفاده از تکنیک URL Rewriting باعث افزایش خوانایی آدرس صفحات وب شوند و صفحات وب سایت بهتر در موتورهای جستجوگر index شوند.

6-  با استفاده از Caching پیشرفته باعث افزایش سرعت بارگذاری صفحات وب سایتتان شوید.

7-  با استفاده از مفاهیم پیشرفته رمز گذاری و رمزنگاری بصورت symmetric و asymmetric باعث افزایش ایمنی و جلوگیری از هرنوع نفوذ در اطلاعات وب سایتتان شوید .

استفاده از PHP Honey Pot

استفاده از OPEN SSL

جلوگیری از هک با استفاده از SQL INJECTION

 

8-    مستند سازی پروژه های بزرگ PHP را بخوبی آموزش    می بینید .

9-  با استفاده از PHP ، سرویسهای وب را بسازند و یا از سرویسهای وب دیگران استفاده نمایند تا امنیت و کارآیی وب سایت خود را افزایش دهند .

10-    با استفاده از ترکیب هوشمندانه Javascript, PHP برخی از پردازشها را به سمت کلاینت انتقال دهند تا باعث کاهش بار پردازشی در سرور شوند .

11-    با استفاده از Ajax و Json و مفاهیم آنها و ترکیب آنها با وب سرویسها ، باعث زیبایی و افزایش کارایی صفحات سایت خود شوند .

12-           جنبه های حرفه ای دیتابیس MySQL :

  • به ساخت رویه های ذخیره شده(stored procedure) بصورت عملی مسلط شوند.
  • به نوشتن trigger ها و کاربرد آنها در بانکهای اطلاعاتی مسلط شوند .

 

 

سرفصل دوره ها :

 

 

1-  طراحی بر اساس RUP

 

  • شناسایی عاملها و رویه ها
  • UML کاربردی
  • طراحی پایه

 

2-  PHP و آبجکت ها  

 

  • موفقیت آبجکت های PHP
  • PHP 4 و انقلاب آرام
  • PHP 5
  • نگاهی به آینده

 

3-  طراحی پیشرفته آبجکت 

 

  • کلاسها و آبجکت ها
  • تنظیم property ها در یک کلاس
  • کار با متدها
  • ایجاد یک متد Constructor
  • آرگومانها و Type ها
  • Typeهای اولیه
  • انواع آبجکت ها
  • توارث
  • کار با ارث بری
  • Public, Private, Protected : دسترسی به کلاسها

Polymorphism

 

4-  جنبه های پیشرفته 

 

  • Propertyها و متدهای Static
  • Constant Properties
  • کلاسهای Abstract
  • Interfaces
  • مدیریت خطاها
  • Final Classes and Methods
  • کار با Interceptors
  • تعریف مقادیر رشته ای (String Values)برای آبجکت ها

 

 

5-  ابزارهای آبجکت ها 

 

  • PHP و پکیج ها
  • پکیج های PHP و Namespaces
  • Autoload
  • توابع کلاس و آبجکت
  • یادگیری کلاسها و آبجکت ها
  • یادگیری متدها
  • یادگیریProperties
  • یادگیری توارث (Inheritance)

 

6-  Objects and Design

 

  • تعریف طراحی کد
  • برنامه نویسی رویه گرا و برنامه نویسی شیءگرا
  • Responsibility (مسئولیت)
  • Cohesion (انسجام کلاس)
  • Coupling(کوپلینگ بین کلاسها)
  • Orthogonality(انجام تغییرات لازم با کمترین اشکال که لازمه آن Cohesion بالا و Coupling پایین می باشد.)
  • انتخاب کلاس ها
  • Polymorphism
  • Encapsulation
  • چهار علامت راهنما : دوتایی شدن Code ، کلاسی که زیاد می دانست ، همه کاره و هیچ کاره ، عبارات شرطی
  • The UML
  • دیاگرام های کلاس
  • دیاگرام های متوالی

 

7-  الگوهای طراحی و دلیل استفاده از آنها 

 

  • الگوهای طراحی چیست؟
  • نام ،مسئله ،راه حل ، نتایج
  • مجموعه چهار فرمت
  • دلیل استفاده از الگوهای طراحی
  • تعریف مسئله و نیز حل مسئله با الگوی طراحی
  • الگوهای طراحی مستقل از زبان هستند
  • الگوها واژه تعریف می کنند
  • الگوها آزمون شده و تست شده هستند
  • الگوها جهت همکاری فی مابین طراحی شده اند
  • الگوهای طراحی یک طراحی مناسب را بهینه می کنند
  • PHP و الگوهای طراحی

 

 

 

8-  اصول و قواعد الگوها 

 

  • ظهور الگو
  • Composition and Inheritance
  • مسئله و استفاده از Composition
  • Decoupling
  • مسئله و تعدیل در coupling
  • کد به یک اینترفیس و نه به بدنه برنامه
  • موضوع قابل تغییر
  • سوءمدیریت در الگوها (Patternitis)
  • الگوها
  • الگوهای جهت ایجاد نمودن آبجکت ها
  • الگوهای جهت سازماندهی آبجکت ها و کلاسها
  • الگوهای وظیفه (task) گرا
  • الگوهای Enterprise
  • الگوهای دیتابیس

 

9-  ایجاد آبجکت ها 

 

  • مشکلات و راه حل ها در ایجاد کردن آبجکت ها
  • الگوی Singleton (مسئله ، پیاده سازی ، نتایج)
  • الگوی متد Factory (مسئله ، پیاده سازی ، نتایج)
  • الگوی Abstract Factory (مسئله ، پیاده سازی ، نتایج)
  • Prototype

 

10-                    معرفی Smarty

 

  • Smarty چیست
  • نیازمندیها
  • نصب اولیه
  • نصب پیشرفته
  • قالب دستورات

 

11-                    Smarty برای طراحان Template

 

  • متغیرها
  • کامنت
  • درج متغیرها در ""
  • توابع Escaping Smarty Parsing
  • Attributes
  • توابع درونی (Built-in Functions)
  • توابع سفارشی (Custom Functions)
  • فایلهای پیکره بندی

 

12-                    Smarty برای برنامه نویسان 

 

  • Constants
  • Smarty Associate Array
  • متغیرهای کلاس Smarty
  • متدهای کلاس Smarty
  • معرفی URL Rewriting
  • ابزارها و Platform ها
  • URL Rewriting اولیه
  • الگوها و جایگزینی ها
  • Regular Expressions
  • Flags
  • Moving Content
  • Conditions
  • Exception  ها و حالات خاص
  • متغیرهای سروری
  • کار با قوانین چندتایی
  • Mod_rewrite
  • ISAPI_Rewrite
  • Leading Slashes
  • Sample Rules
  • Enter caching
  • یک نمونه تصویری
  • پیاده سازی یک Cache  در PHP
  • بافر خروجی
  • یک Cache ساده
  • استفاده از فایلهای Cache
  • انقضای داده موجود در Cache
  • انقضای ساده زمان
  • تجدید در هنگام ضرورت
  • در جایی که نباید از Cache  استفاده کرد
  • استفاده از PHP Honey Pot
  • استفاده از OPEN SSL
  • جلوگیری از هک با استفاده از SQL INJECTION
 

 

13-                    The Quickies

 

  • quicky و مستند سازی استثنائات

 

14-                    شروع کار 

 

  • قالب بندی مستندسازی PHP
  • ابزارها و دستورات نصب
  • کار با SVN
  • استاندارد DocBook

 

15-                    کار با مستندسازی PHP

 

  • مروری بر فایل
  • قراردادها
  • چه چیزی را بایستی مستند کرد
  • قالب و استخوان بندی مستندسازی
  • اطلاعات برای مترجم ها
  • لیست های میل، گروههای خبری و ماجولهای SVN
  • راهنمائیهای ویرایش نت کاربر
  • اتوماتیک سازی با اسکریپت ها
  • موارد تکمیلی

 

16-                    تولید Documentation و صحه گذاری آن 

 

  • فرآیند پیکره بندی
  • صحه گذاری بر تغییرات
  • نمایش تغییرات
  • سیستم تولید Online

 

17-                    معرفی وب سرویس ها با SOAP

 

  • معرفی معماری وب سرویس های PHP
  • معرفی WSDL
  • واژه شناسی WSDL
  • یک فایل WSDL
  • معرفی SOAP
  • استفاده از PHP SOAP Extension
  • متدها و گزینه های کلاس SoapClient
  • متدها و گزینه های کلاس SoapServer
  • مثالی از دنیای واقعی

 

18-                    وب سرویسهای پیشرفته 

 

  • Complex Types (یک مثال +Class Mapping)
  • اعتبارسنجی (Authentication)
  • اعتبارسنجی HTTP
  • اعتبارسنجی Communication-key
  • اعتبارسنجی Client-Certificate
  • Session ها
  • آبجکت ها و Persistence
  • انتقال داده باینری

 

 

19-                    Json and Ajax

 

  • Json
  • Json and PHP
  • Ajax (آژاکس)
  • مدل وب سنتی
  • مدل وب آژاکس
  • Event های Asynchronous در مقابل Event های  Synchronous
  • آبجکت XMLHttpRequest و استفاده از آن
  • JavaScript API های سطح بالا
  • مثالهای jQuery
  • ارسال داده به PHP Script با استفاده از آژاکس
  • یک برنامه ساده گرافیکی

 

 

MySQL Database

 

1-  معماری MySQL

 

  • طراحی منطقی
  • مدیریت بهینه
  • تراکنش
  • آشنایی موتور ذخیره سازی در MySQL

 

2-  بهنه سازی بوسیله Benchmark

 

  • استراتژی Benchmark
  • تکنیک های Benchmark
  • ابزار  Benchmark

 

3-  اسکما و بهینه سازی ایندکسها 

 

  • انتخاب نوع داده ای
  • ایندکسهای پایه
  • استراتژی ایندکسها
  • ایندکسها و جداول
  • بهینه سازی بروزرسانی و تغییرات جدول
  • نرمال سازی

 

 

4-  Trigger

 

  • تعریف
  • طراحی
  • کاربرد
  • بهینه سازی

 

5-  Store procedure : SP

 

  • تعریف
  • طراحی
  • کاربرد
  • بهینه سازی