.: مشخصات درس
اهداف و مهارتها

    تربيت نيروهاي ماهر در زمينه ساخت و تولید وب سايتهاي PHP با تكنيك هاي جديد نرم افزاري.



شرایط شرکت کنندگان
توانايي طراحي و پياده سازي وب سايت با PHP و My SQL / يا گذراندن دوره PHP & My SQL

توانایی های مورد انتظار از دانشپذیران در پایين دوره
توليد وب سايت هاي حرفه اي با استفاده Symfony2

مخاطبان
كليه علاقمنداني كه ساخت وب سايت دايناميك با زبان PHP را فراگرفته اند.

مدت
45  ساعت

كاربرد درس در ساير دروس


سرفصل

 کار با خط فرمان

  1. دانلود symfony installer و نصب سیمفونی

  2. بررسی اجمالی ساختار یک پروژه سیمفونی

  3. صحبت در مورد MVC

  4. توضحات در مورد composer و نصب و استفاده از آن

  5. version control و توضیح در مورد git

  6. مفاهیم پیشرفته شی گرایی مانند namespace و use همچنین abstract و interface

  7. twig

  8. console

  9. Bundle

  10. ایجاد controller و action (به صورت دستی و استفاده از console)

  11. annotation

  12. ساختار action، مقادیر ورودی و خروجی آن

  13. استفاده از @route

  14. تغییر مسیر کاربر redirect

  15. twig و محل هایی که می توان قالب ها را قرار داد

  16. استفاده از @template

  17. فایل parameters.yml

  18. تنظیمات و ساخت database ایجاد موجودیت ها و ساختار (Entity و Schema)

  19. دستورات console مرتبط با database

                    i.            doctrine:database:create
                  ii.            doctrine:schema:create
                iii.            doctrine:schema:update
                iv.            doctrine:generate:entity
                  v.            doctrine:generate:entities
  1. Doctrine Object Manager

  2. FormBuilder و ایجاد فرم در action یا …

  3. نمایش فرم

                    i.            form
                  ii.            form_start, form_row, form_end
                iii.            form_label, form_widget, form_errors
  1. هندل کردن داده های ارسال شده form

  2. ایجاد کلاس برای فرم و FormType جهت استفاده مجد از فرم

  3. ذخیره داده های ارسالی form

  4. اعتبار سنجی داده های وارد شده در فرم (Validation)

  5. استفاده از فایل زبان

  6. twig tags

                    i.            for
                  ii.            if
                iii.            include و انواع ارسال داده به قالب ضمیمه شده
                iv.            توضیحات تکمیلی در موردblock
                  v.            dump
                vi.            set
              vii.            spaceless
  1. twig filters

                    i.            nl2br
                  ii.            raw
                iii.            number_format
                iv.            default
                  v.            date
                vi.            length
              vii.            striptags
            viii.            url_encode
                ix.            capitalize
  1. تعریف رابطه ها در Entity

                    i.            ManyToOne
                  ii.            OneToMany
                iii.            OneToOne
                iv.            ManyToMany
                  v.            self refrencing
  1. Doctrine Object Manager

                    i.            persist
                  ii.            flush
                iii.            remove
  1. واکشی اطلاعات از Repository

                    i.            find, fineAll
                  ii.            fineBy, findOneBy
                iii.            توابع سفارشی و تعریف آنها در Repository
                iv.            createQueryBuilder
                  v.            createQuery
                vi.            DQL
  1. رویداد های چرخه عمر entity (life cycle callbacks)

                    i.            prePersist, postPersist
                  ii.            preUpdate, postUpdate
                iii.            preRemove, PostRemove
                iv.            preFlush, postFlush
                  v.            onClear
  1. دسترسی به Session

  2. Flash Message و نمایش پیام در صفحه بعد

  3. استفاده از assets برای مشخص کردن آدرس ها

  4. اصلاح ظاحر فرم ها با override کردن فایل قالب

  5. مراحل نصب باندل های 3rd Party

                    i.            نصب با composer
                  ii.            فعال کردن باندل در AppKernel
  1. نصب Braincraft Bootstrap Bundle برای بهبود ظاهر فرم ها

  2. نصب چند باندل دیگر ...

  3. احراز هویت در سیمفونی

  4. فایل security

  5. نصب Bundle FOSUserBundle

                    i.            اصلاح فایل config.yml
                  ii.            اصلاح فایل security.yml
  1. سفارشی سازی قالب FOSUserBundle

  2. سفارشی سازی Formها

  3. بهبود ساخت یافتگی پروژه و decoupling بخش های مختلف با event dispatching و event listeners

  4. انجام کارهای دلخواه هنگام ثبت نام کاربر با ایجاد event listeners

  5. سرویس ها و dependency injection

  6. Service container

  7. فراخوانی سرویس ها

  8. استفاده از سرویس های موجود

                    i.            router
                  ii.            session
                iii.            ...
  1. تعریف سرویس های دلخواه و فراخوانی آنها

  2. swift mailer و ارسال ایمیل

  3. ایجاد Restful Api

  4. استفاده از FOSRestBundle