زمان برگزاری :
36 ساعت - پنج شنبه ها ساعت 18 الی 20 و جمعه ها ساعت 17 الی 20
عنوان دوره : کارگاه آموزشی فوق تخصصی 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
- تعریف
- طراحی
- کاربرد
- بهینه سازی