یه نویسنده

مقاله، کتاب، برنامه و ...

مقاله، کتاب، برنامه و ...

یه نویسنده

وبلاگی برای فعالیتهای پژوهشی و برنامه نویسی کامپیوتر، که شاید دفتر یادداشتی از دانسته‌های روزانه‌ی من باشد(شاید به‌کار شما هم بیاید). مطالبی که از دنیای کدباز جمع‌آوری میکنم و برای علاقه‌مندان این شاخه از فناوری انتشار میدهم. بیشتر نوشته‌های وبلاگ را برنامه‌نویسی‌php و سیستم‌عامل لینوکس تشکیل می‌دهند.

طبقه بندی موضوعی

مجموعه آموزشی yii2 از پایه تا پیشرفته همراه با کارگاه عملی ساخت cms

سلام به تمام برنامه نویسان علاقه مند به یادگیری فریم‌ورک yii2
حدود یک‌سال پیش در بخش codeigniter مجموعه آموزشی خدمت علاقه‌مندان تقدیم کردم. در همان پستها دوستان از بنده خواستند تا اگر امکان دارد فریم‌ورک‌های دیگر را هم آموزش دهم.
بصورت حرفه‌ای بر روی دو فریم‌ورک کار کرده بودم یکی ci‌و دیگری yii. البته باز هم با yii بیشتر و شاید از ۹۰درصد ویژگی‌های yii در کارهای خود استفاده کرده بودم. با این اوصافت در تهیه مجموعه آموزشی مشکلی نداشتم چون صرفا تجربیات باید تبدیل به فیلم میشد. ولی مساله وجود متقاضی بعد از تهیه مجموعه آموزشی بود. هر چند از همان ابتدا هدفم پخش رایگان بود ولی باز هم باید طرفدارانی باشند تا کار خدای نکرده روی زمین نماند. بعد از گذشت حدود ۵ ماه از انتشار ci، هر روز دوستانی زیادی تماس میگرفتند برای رفع مشکل، عده‌ای از کاربران در فروم پست میگذاشتند، عده در وبلاگم ،بعضی از دوستان تماس تلفنی و حتی تعداد چند نفر از عزیزان حضوری با بنده دیدار داشتند. این خود نشانه قوتی بود چون متد آموزشی بنده باب طبع دوستان بود. پس با این حساب مشکل وجود متقاضی هم حل شد.
کار ساخت مجموعه آموزشی بعد از تعطیلات عید بصورت جدی شروع شد. تجربه‌های مجموعه قبلی و بازخوردهای دوستان همگی حکایت از آن داشت که باید کاری پر مغز و حرفه‌ای خدمت طرفداران تقدیم شود. این کار مستلزم وجود ساختاری مناسب و روان بود. طوری که هم کسانی که میخواهند بتازگی کار با فریم‌ورک را شروع کنند به مشکل برنخورند و هم برای برنامه‌نویسانی که شاید سالها با فریم‌ورکهای دیگر کار کرده‌اند ملالت آور نباشد. در ابتدا بیشتر کتابهای انگلیسی که فریم‌ورکی را آموزش میدادن بررسی کردم همچنین فیلمهای آموزشی شرکت lynda. بدنبال ساختاری محکم همراه با امکان پیاده‌سازی بر روی yii2 بودم. چند بار هی فیلم میگرفتم و هی پاک میکردم و هنوز به نقطه دلخواهم که نیاز همگان را برآورده کنم نرسیدم. در آخر بعد از حدود دو هفته کلنجار رفتن و وسواس زیادی بر روی ساختاری که هم آموزش بصورت درس باشد و هم کارگاه با خودم به توافق رسیدم.
همانطور که گفتم این مجموعه آموزشی از دو قسمت درس و کارگاه تشکیل شده. البته قسمت درس به معنای آن نیست که من از جلوی چشمان شما فقط اسلاید میگذرانم و یا در کارگاه با سرعت بالا فقط کد مینویسم. بلکه مجموعه اسلایدی از خود مستندات yii2 گردآوری کرده‌ام و همانها برای آموزش درس استفاده شده است. هدف از این کار هم آشنا کردن دوستان با متون رسمی  yii2 و توانایی ادامه راه بدون داشتن مجموعه آموزشی بود. در واقع هدفم ترجمه یا انتشار مجموعه‌ای صرفا فارسی نبود که بگویم حالا شما بی‌نیاز از مستندات و راهنمای اصلی هستید، بلکه کار آموزش تمام قسمتها را انجام داده‌ام ولی برای مطالعه بیشتر و کسب تجربیات باید مستندات اصلی را بخوانید و از آنجایی که فصلهای آموزشی مطابق با مستندات اصلی هستند، برای شما مشکلی در یادگیری نخواهد بود.
در کارگاه‌ها هدف ساخت یک cms ساده دنبال میشود. این cms آماده هست حتی قبل از ادامه متن میتوانید آنرا دانلود و نصب و استفاده کنید. البته اگر بگوییم به معنای واقعی الان یک cms آماده کرده‌ام همانند wordpress کمی اجحاف شده ولی حداقل نیازها را در نظر گرفته‌ام و آنرا برآورده کرده‌ام. در cms تمام قسمتهای فصلها را بصورت عملی خواهید داشت و در انتها همان آموزشها برای کسب تجربه استفاده خواهد شد.
با جداسازی فصلها و کارگاه هدف دیگری هم داشتم. عده‌ای از دوستان اصلا حوصله دیدن مدارم را ندارند و بر عکس عده‌ای اصلا درس دادن را دوست ندارند و بقول دوستان "یا علی مدد بریم cms بنویسیم" این یعنی کار عملی در مقابل درس. پس نیاز بود به شکلی هر دوی این گروها را رازی نگه دارم. البته وقتی حرف از درس دادن میشود همه ما یاد چرت شیرین سر کلاسهای درس بعضی اساتید میفتیم. حتی بهترین کلاسها و کلاس‌درس بهترین اساتید هم باز هم چرت میچسبید  پس باید درسها طوری ساخته میشد که کسی چرتش نگیرد(مثلا فیلمها با صدای بلند و فریاد زدن).
پس باید در درسها هم کار عملی ولی بصورت هدفهای کوتاه میبود. شما در طول درسها هم کارگاه‌های کوچکی دارید. این که نمیشود من اسلاید بسازم و مدام در ویدیو شما صدای من را بشنوید همراه با اسلایدی که حرکت میکند. ولی مساله مهم زمان بود. بیشتر زمانها بصورت زیر باید تفکیک میشد:
  1. ساخت اسلاید. طوری که هم مستندات اصلی در آن باشد و هم هدف مجموعه آموزشی در آن دنبال شود
  2. ساخت و پروراندن نمونه فیلمی برای تمرین که در طول آموزش بصورت روان جلو رود بدون این که خطایی پیش آید
  3. آموزش و ساخت فیلم
  4. حذف قسمتهای زاید یا غیرلازم که نبودش بهتر از بودنش بود
  5. جمع آوری و آرشیو کدها و اسلاید و فیلمها
آموزش از روی اسلاید در هر کدام از فیلمها حدود ۲ دقیقه هم نمیشود و خیلی سریع به میرویم روی کدنویسی. مثلا در فصل ۱۲ شما با نحوه ساختن ماژول و extension آشنا میشوید در قسمت extension حدود ۲ دقیقه به معرفی و روش ساخت extension میپردازم و بعد بصورت عملی به سمت ساخت یک extension برای rss میرویم. از دانلود نمونه کلاسی در phpclasses.org شروع میشود و تا ساخت و انتشار آن بر روی github و packagist.org تمام میشود. تا آنجا که توانسته‌ام در طول درس مخاطب را وادار  کرده‌ام که دست به کد شود و ادامه بدون کدنویسی مقدور نخواهد بود.
چرت دومی هم بود و آن طولانی بودن زمان هر درس. نباید هر درس زمانی داشته باشد که باعث رنجش خاطر عزیزان شود و اگر هم قرار بود هر قسمت آموزشی از ۱۰ یا ۲۰ دقیقه تجاوز کند، بسته به حجم مطالب و کدهای لازم باید این کار انجام میشد. پس تلاشی هم جهت کنترل زمان داشتم و خدا رو شکر تمام فصلها و کارگاه ها، تمام موارد آموزشی تفکیک شده و هر فیلم بین ۱۰ تا ۲۰ دقیقه است و چند فیلم بین ۳۰ تا ۳۵ دقیقه که آن بسته به حجم مطالب آموزشی زیاد شده است. پس امیدارم حسابی چرت عده‌ای را پرانده باشم. چرا که هم مشکل صرفا دیدن و شنیدن حل شده بود و هم مشکل طولانی بودن زمان آموزش. 
بعد از گذشت حدود دو ماه فقط ۳ فصل آماده شده بود و همان موقع گفتم این مجموعه اگر همین طور پیش رود تا ۱۲ ماه هم تمام نخواهد شد. پس باید حمت میکردم و تمام تعطیلات و روزها جمعه را به این مجموعه اختصاص میدادم. از یک طرف ساختاری چیده بودم که هر روز مرا به ساخت ویدیوهای با کیفیت بیشتر میکشاند(وسواسی که حتی بعضی قسمتها چندین بار دوباره ساخته میشد) واز طرف دیگر سیل دوستانی که هر روز خبر از yii2 میگرفتند.
این مجموعه جزوی از زندگی من بوده و هست و من ۵ ماه با آن خاطره دارم. روزهای سخت و راحت. روزهایی که حسابی خسته بودم ولی باید آماده میشدم برای تهیه ویدیو. روزهایی که تعطیلات بود و خدمت به خانواده و لپ‌تاپی که از من جدا نشد چرا که بهترین زمان برای تهیه اسلایدها و تست موارد آموزشی بود و خلاصه تمام زحمتهای همسر عزیزم که همیشه پشتیبان من بود. 
هم اکنون خوشحالم که با تمام پستی و بلندی‌ها این مجموعه آماده انتشار است. سخن ها بسیار است و شاید در پستهای دیگر از خاطراتم گفتم. پس به معرفی فصلها میپردازم.

در مدتی که مجموعه ci در اختیار دوستان بود خیلی از دوستان مشکلشان فهم مطالب و یا کد نبود بلکه مشکل بالاتر در محیط توسعه بود. نمیگویم ویندوز مناسب نیست و یا لینوکس الان مدینه فاضله است. بلکه چه ویندوز و چه لینوکس باید محیط مناسبی برای توسعه داشته باشید. اگر از تمام برنامه‌نویسان حرفته‌ای بپرسید کسی لپ‌تاپ کار خود را پذیرای هزاران ماژول و وب‌سرور نخواهد کرد. مثل این میماند که شما قصد تکه کردن گوشت دارید ولی بخای گوشت کوب از یکی از دستان خود برای این کار استفاده کنید. به عنوان برنامه‌نویس باید محیطی داشته باشید که بتوانید با آزادی خیال به کار طراحی و توسعه بپردازید. این کار جز با به خدمت گرفتن محیط های مجازی امکان ندارد. الان هم که دیگر همه از نظر سخت‌افزاری مشکلی ندارند. در این مجموعه بهترین محیط طراحی و توسعه بنام vagrant آموزش داده میشود همچنین از پایه با نصب و راه‌اندازی یک سرور لینوکسی و این که چطور به نصب و تنظیمات پایه بپردازید. این نصب و کانفیگها همه بر روی ماشین مجازی صورت میگیرد و هیچ آسیبی به ویندوز شما نمیرسد همچنین تمام مراحل نصب و راه اندازی بر روی تمام سیستم‌عاملها یکشان است.
۱-۱. نصب virtualbox , vagrant  و ساخت یک نمونه vm اوبونتوی 12.04
۱-۲. نصب php,mysql,apache بر روی لینوکس اوبونتوی 12.04
۱-۳. تنظیمات پایه و تنظیم ارسال ایمیل از سیستم خودتان
۱-۴. نصب و تنظیم phpmyadmin
۱-۵. نصب و تنظیم composer و نحوه نصب yii2 به کمک composer
۱-۶. نصب تمام موارد گفته شده بصورت offline برای آن عده از دوستانی که همزمان دسترسی به اینترنت ندارد و نصب yii2 بصورت آرشیو دانلود شده.

این فصل را میتوان فصل تصمیم گیری دانست. بصورت سریع شما را بعضی از قسمتهای yii2‌آشنا میکند و میتواند نظر شما را جلب کد که yii2 واقعا قوی است. این فصل با ساخت دستی کنترلر و مدلها شروع شده و به استفاده از ابزار gii تمام میشود.
۲-۱. ساختار فایلها و فولدرهای yii2
۲-۲. ساخت دیتابیس و تنظیمات pdo‌ و نمونه کنترلر برای ثبت پست در cms
۲-۳. ساخت فرم برای کنترلر پست
۲-۴. استفاده از active record برای ثبت پست جدید در دیتابیس
۲-۵. ابزار gii‌ و ساخت موارد بالا بصورت سریع به کمک این ابزار(بجای نوشتن موارد تکراری).

حالا که به این فصل رسیده‌اید پس فصل دوم توانسته شما را به ادامه فصلها متقاعد کند. اما برای ادامه شما باید نکات و مفاهیمی را یاد بگیرید. این که اصلا منظور controller‌و model چیست؟ چگونه yii2 لود و اجرا میشود؟ موارد session , cookie در yii2 به چه صورت است؟ و خلاصه ریز مواردی که نیاز بود در ابتدا یاد بگیرید.
۳-۱. نحوه لود شدن yii2
۳-۲. مفهوم alias در تنظیمات
۳-۳. استفاده از catchAll به عنوان یک مورد اضطراری
۳-۴. controllMap و نحوه استفاده از آن
۳-۵. مفهوم ماژول پر yii2
۳-۶. استفاده از پارامترهای عمومی از طریق تنظیم params
۳-۷. مفهوم extension در yii2
۳-۸. کنترلر و تنظیمات در آن
۳-۹. مدلها و موارد مربوط به model
۳۰-۱۰. views و جزئیات نمایش دیتا
۳-۱۱. ماژولها. بیان مفاهیم پایه
۳-۱۲. ویجتها در قسمت view
۳-۱۳. نحوه لود css و js‌ در صفحه. بررسی جزئیات assets
۳-۱۴. request و بررسی پارامترهای هنگام ارسال درخواست
۳-۱۵. response و بررسی پارامترهای هنگام دریافت جواب از سرور
۳-۱۶. session
۳-۱۷. cookie
۳-۱۸. بررسی خطاها و لا‌گها

معمولا در برنامه‌های تحت وب دیتابیس کاربرد بسیار زیادی دارد. لذا بعد از این که در فصل‌های قبل کمی با yii2 آشنا شدید نوبت به نحوه تعامل با دیتابیس است.
۴-۱. معرفی آبجکت dao
۴-۲. نحوه query بوسیله dao
۴-۳. bind کردن پارامتر
۴-۴. فرستادن query  بدون گرفتن مقدار
۴-۵. استفاده از prefix در ارتباط با دیتابیس
۴-۶. transaction بیان مفاهیم و نمونه عملی
۴-۷. isolation و بررسی انواع آن
۴-۸. ساخت query به کمک امکانات yii2 
۴-۹. متد from
۴-۱۰. متد where
۴-۱۱. استفاده از hash
۴-۱۲. order,group by و having
۴-۱۳.  join و بررسی امکانات join بین جداول در yii2
۴-۱۴. union کوئری
۴-۱۵. بررسی active record
۴-۱۶. فرستادن query به کمک active record
۴-۱۷. استفاده از batch query
۴-۱۸. بررسی save,validation,message,update و delete در اکتیو رکورد
۴-۱۹. بررسی validation
۴-۲۰. تغییرات در نمایش خطای validation
۴-۲۱. massive assignmentدر اکتیو رکورد
۴-۲۲. بدست آوردن تعداد رکوردها update شده
۴-۲۳. update گروهی چند ردیف توسط updateAll
۴-۲۴. حذف رکورد از جدول به کمک active record
۴-۲۵. transaction به کمک active record
۴-۲۶. استفاده از امکانات relation در active record

بعد از فراگیری ارتباط با دیتابیس و نحوه فرستادن دستورات CRUD به سمت دیتابیس باید فرمی برای ویرایش، اضافه کردن و حذف داشته باشید. این فصل به مکانیزمهای ساخت فرم میپردازد.
۵-۱. ساخت فرم
۵-۲. بررسی اضافه کردن ruleها بخش اول
۵-۳. بررسی اضافه کردن ruleها بخش دوم
۵-۴. بررسی ruleها بخش سوم
۵-۵. آپلود فایل به کمک فرمهای Yii2

معمولا در برنامه‌نویس بیشترین ابزاری که خیلی مورد نیاز است، ابزارهای نمایش داده است. از گرید ویو گرفته تا لیست همگی جزوی از نیازها می‌باشد و چه دردسرها که برنامه‌نویسان برای استفاده از گریدها و لیست‌ها نمیکشند. در yii2 ابزارهای بسیار خوبی برای grid,list,pagination و detail view دارد.
۶-۱. internationalization برای ساخت نرم‌افزارهای چند زبانه و بین‌المللی
۶-۲. فرمت داده‌ها مثل ارزی، متراژی و...
۶-۳. صفحه بندی به کمک ابزار pagination
۶-۴. نمایش جزئیات به کمک detail view
۶-۵. ساخت داده برای گرید و لیست به کمک data provider
۶-۶. list view
۶-۷. grid view

بعد از طی کردن‌فصل‌های قبلی اکنون تا حدودی با امکانات و ابزارهای yii2 آشنا شده‌اید. شما اکنون میتوانید یک cms با امکانات حداقلی ایجاد کنید. در این کارگاه همچنین با موارد جدید مثل route,captcha,pjax,navigation و نحوه طراحی سایت چند زبانه آشنا میشوید.
۷-۱. نصب و راه‌اندازی یک پروژه با yii2
۷-۲. تنظیمات عمومی
۷-۳. برگرداندن bootstrap به حالت rtl با تغییرات در assets 
۷-۴. قالب بخش وبلاگ
۷-۵. قالب بخش ادمین
۷-۶. تنظیمات دیتابیس
۷-۷. کاربران بخش ادمین
۷-۸. نمایش پست در ادمین
۷-۹. کامنت در بخش ادمین
۷-۱۰. نمایش پست در وبلاگ
۷-۱۱.  نمایش یک پست در وبلاگ
۷-۱۲. نمایش پست بصورت seo بهینه از طریق دستکاری route در yii2
۷-۱۳. نحوه فرستادن query نمایش پست در وبلاگ
۷-۱۴. کامنت در وبلاگ و نحوه نمایش آنها
۷-۱۵. استفاده از ajax برای ثبت کامنت جدید(بررسی ابزار pjax)
۷-۱۶. اضافه کردن کپچا برای ثبت کامنت
۷-۱۷. سایت چند زبانه بخش اول
۷-۱۸. سایت چند زبانه بخش دوم
۷-۱۹. سایت چند زبانه بخش سوم
۷-۲۰. ابزار منو و navigation
۷-۲۱. ساخت category برای cms

هر ابزار تحت وبی باید حداقل امنیت را داشته باشد. البته بصورت عمومی تعیین هویت کاربران در ورود به پنل‌ها جزو موارد ضروری است. همچنین نحوه ذخیره رمز عبور کاربران در دیتابیس، سیستم‌های تعیین سطح دسترسی، کد کردن داده‌های حساس و تولید رشته‌های تصادفی برای موارد مورد نیاز در این فصل بررسی میشود.
۸-۱. بررسی کلاس user در yii2
۸-۲. تنظیمات user
۸-۳. متد user
۸-۴. بررسی لاگین user
۸-۵. تعیین هویت authorization
۸-۶. تنظیمات تعیین هویت
۸-۷. سیستم rbac
۸-۸. تنظیمات برای راه‌اندازی سیستم rbac
۸-۹. داده اولیه برای سیستم rbac
۸-۱۰.استفاده از rule در سیستم rbac
۸-۱۱. کد کردن و دیکد داده‌ها در yii2
۸-۱۲. امنیت در پسورد
۸-۱۳. تولید رشته تصادفی

با کمی صرف وقت و دقت میتوانید فشار کاری سرور را کم کنید و داده‌هایی را که مکررا مورد دسترسی قرار میگیرند را کش کنید. در این فصل به موارد نصب و استفاده از سیستم‌های کش میپردازد.
۹-۱. تعریف سیستمهای کش 
۹-۲. دیتا در کش
۹-۳. نصب ابزار memcache
۹-۴. تنظیمات memcache و استفاده از آن
۹-۵. توابع در دسترس برای کش
۹-۶. کش متراکم یا fragment cache
۹-۷. کش کردن کامل یک صفحه
۹-۸. کش بر روی http

معمولا در تولید سامانه‌های بزرگ نیاز به ساخت ابزارهای جانبی هم هست. مثلا ساخت نرم‌افزار آندروید برای یک سایت. این موراد ارتباطی باید با وب‌سرویس انجام شود. این فصل به نصب و راه‌اندازی یک وب‌سرویس میپردازد.
۱۰-۱. معرفی وب‌سرویس و امکانات yii2 برای راه‌اندازی وب سرویس
۱۰-۲. ساخت وب‌سرویس و نحوه تست آن
۱۰-۳. لاگین و موارد امنیتی در وب‌سرویس(تعیین هویت کاربران در وب سرویس)

در طی فصل‌های گذشته توانسته‌اید امنیت، کش و وب سرویس را فرا بگیرید. موارد کش و وب سرویس جزو ضروریات یک cms به حساب نمی‌آیند ولی امنیت را حتما باید اضافه کنید.
۱۱-۱. نمایش دموی انجام شده از سیستم امنیت cms
۱۱-۲. تنظیمات اولیه برای راه‌اندازی rbac
۱۱-۳. اضافه، حذف و ویرایش رول‌ به کاربران
۱۱-۴. اختصاص یک نقش به کاربر

ماژول یک زیر سیستم از سیستم اصلی و میتوانید حتی نرم‌افزارهای بزرگ را به قسمتهای کوچک تبدیل کنید. extension از ابزارهای جانبی که بصورت کلاسهای واحدی که میتوانند در هر کجای فریم ورک صدا زده شوند و برای شما کار بخصوصی را انجام دهند. مثلا extension برای ویرایش تصاویر.
۱۲-۱. تعریف ماژول و نحوه نوشتن یک ماژول
۱۲-۲. ساخت یک نمونه ماژول
۱۲-۳. تعریف و نحوه نوشتن extension
۱۲-۴. ساخت یک extension از روی کلاسی که از phpclasses.org دانلود میشود همراه با ثبت در github و packagist.

در yii2 ابزارهای برای تست و دیباگ برنامه وجود دارند. در این فصل به نحوه فعال‌سازی و استفاده از این ابزارها میپردازیم.
۱۳-۱. ابزارهای تست و نحوه نصب و فعال‌سازی codeception
۱۳-۲. ابزار debug

بعد از پایان تمام فصل های تا حدودی یک cms جمع و جور را آماده کرده‌اید. اکنون در این کارگاه به مراحل ساخت یک فایل install برای مکانیزه کردن مراحل نصب و انتشار برنامه میپردازیم.
۱۴-۱. ساخت فایل install.php و انتشار برنامه.

با کلیک بر روی هر کدام از عنوان فصل‌ها به یک پوشه در دراپ‌باکس منتقل میشوید. در آن پوشه مطابق با عناوین هر فصل، فایلهایی با همان نام و شماره خواهید داشت. 
همیشه نظرات خوب شما عزیزان باعث ادامه راه بوده و هست. منتظر نظرات، انتقادات و سوالات شما دوستان هستم. از طریق آدرسهای زیر میتوانید با من در ارتباط باشید
شماره همراه: ۰۹۳۷۴۶۹۳۴۹۳
ایمیل: mehrdad.seifzadeh@gmail.com


نظرات  (۶۹)

عااالیه ایکاش ci هم به همین وسعت تدریس می کردین. راستی هنوز cms کدیگنایتر و نزاشتین برای دانلود.
امیدوارم واقعا نتیجه زخماتتون و بگیرین.
خدا یارتون
پاسخ:
البته شاید در آینده ویرایش جدید از مجموعه ci رو بسیازم.
سلام و خداقوت 
واقعا ممنون از تمام زحماتتان 
سلام وقت بخیر
بابت زحمتی که کشیدید ممنونم. هنگامی که از dropbox دانلود میکنم Resume نداره میخواستم اگه براتون مقدور هست این مجموعه رو یه جای دیگه آپلود کنید که Resume داشته باشه. (مثل مکتب خونه)
سلام آقای سیف زاده...
خسته نباشید و خدا قوت بابت زحماتتون ...
می خواستم یه درخواستی کنم اونم این که اگه می شه در مورد آموزش htaccess هم مطالبی تولید کنید یا اگه فعلا وقتش رو ندارید اگه می شه تعدادی لینک آموزشی یا هر چیزی که بتونیم از روش یاد بگیریم بهمون معرفی کنید.

موفق و پیروز باشید
پاسخ:
سلام در همین مجموعه یه قسمت htaccess هم داره ولی در حد url هست
توی وب دنبال htaccess learning video بگردید یه ویدیوی آموزشی فک کنم مال شرکت لیندا بود و خوب آموزش داده داده
سرعت دانلود dropbox پایینه مگه نه؟
پاسخ:
برید به پست زیر و از سایت‌های دیگه دانلود کنید
http://barnamenevis.org/showthread.php?505633-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-yii2-%D8%A7%D8%B2-%D9%85%D8%A8%D8%AA%D8%AF%DB%8C-%D8%AA%D8%A7-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D8%A8%D8%A7-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B9%D9%85%D9%84%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA-cms
سلام آقای سیف زاده خسته نباشید...
ببخشید دوتا سوال داشتم در مورد activeform...
اول این که : با activeform که فرم می نویسیم چطور می شه متد ارسال داده ها رو خودمون تنظیم کنیم که get باشه یا post؟؟چون به طور پیشفرض post هستش.

و این که تنظیمات اضافی فیلد ها رو چطور می شه براشون قرار داد؟؟
مثلا اگه بخوایم گزینه ی autocomplete رو برای یه فیلد off کنیم چطور این کارو باید بکنیم؟؟
پاسخ:
در همون جایی که قراره کلاس اکتیو فرم شروع بشه میتونید کانفیگ کنید که با post باشه یا get 
به فیلمهای بخش فرم مراجعه کنید
باز سلام !
آقای سیف زاده مشکل حل شد...
با کد زیر تونستم autocomplete و placeholder هم بذارم برای فیلد :
<?=$form->field($model,'title')->textInput(['autocomplete'=>'off','placeholder'=>'post Title']);?>

فقط یه درخواستی داشتم اونم این که اگه روش کوتاه تری نسبت به چیزی که من نوشتم هست ممنون می شم لطف کنید بنده رو راهنمایی کنید.

از زحمات بی مثال شما سپاسگزارم.
سلام خدمت شما

من به جز فصل اول ، تمام فصل های بعد یعنی فصل ۲ تا ۱۴ رو به طور کامل مشاهده کردم و واقعاْ لذت بردم از این آموزش.
با توجه به اینکه این آموزش به طور رایگان منتشر شده ولی در مقایسه با دیگر آموزش های فارسی از کیفیت بسیار مناسبی برخورداره.
من واقعاْ به شما تبریک میگم چون استعداد خوبی در زمینه ی ساخت فیلم آموزشی دارید. امیدوارم که در این راه موفق باشید و پیشرفت کنید.
در ضمن یک انتقاد هم داشتم و امیدوارم با رفع این نقص سطح کیفی کارتون رو بالا تر ببرید و اونم اینه که لطفاْ در تلفظ کلمات انگلیسی بیشتر دقت کنید. کلماتی مانند CRUD, Browser, alias, Status, Cached و ... رو اشتباه تلفظ میکنید که البته با توجه به این که زبان ما پارسی هست وجود چنین اشکالاتی طبیعیه. ولی اگه این مورد رو برطرف کنید ویدیو ها حرفه ای تر خواهند شد.

باز هم از شما آقای سیف زاده عزیز تشکر میکنم و برات آرزوی سلامتی و شادابی روزافزون دارم
پاسخ:
سلام
بله متاسفانه تلفظ اشتباه این امر خود من رو هم آزاد میده. ولی اصل موضوع این که زیاد روی تلفظ لغات وقت نمیزارم و بیشتر روی معنی و کاربردش متمرکز میشم. 
ممنون که فیلمها رو تا آخر مشاهده کردید و نظر خوبی رو ارسال کردید. از دوستان دیگر هم تقاضا دارم هر گونه نظری(از انتقاد و کیفیت فیلمها و ...) دارند بیان کنن
در آینده این مشکلات برطرف خواهد شد.
سلام جناب سیف‌زاده
ابتدا تشکر بابت تهیه و انتشار این مجموعه‌ی آموزشی
بنده چون شخصاً چندین ماه هست که با دانلود از دراپ‌باکس مشکل دارم، فایل‌ها رو روی گوگل درایو هم آپلود کردم. چون احساس کردم دسترسی به فایل‌هاتون آسان‌تر خواهد بود و سرعت دانلود برای کاربران افزایش خواهد یافت.
لینکش رو در زیر براتون قرار می‌دم(چون آدرس ایمیلتون رو نداشتم مستقیم براتون روی گوگل اکانتتون share کنم)
https://drive.google.com/folderview?id=0B4ZlNlar4Ij6WEhDc2Foa0JMcTQ&usp=sharing
موفق و سربلند باشید
  • فرید فروزان
  • سلام . خسته نباشید . آرزوی سلامتی و موفقیت همیشگی برای شما دارم

    یک سوال کوچک :

    yii2 با هاست های اشتراکی مشکل دارد ؟ موانعی هست ؟ یا نه ، فقط یک آپلود روی روت هست !؟!


    ممنون
    پاسخ:
    سلام
    تمام هاست‌هایی که بتوانند ورژه 5.4 php رو ساپورت کنن میتونن yii2 رو ران کنن
    عجرت با امام حسین استاد گرامی
    درود وقت بخیر .
    ببخشید وقتی vagrant نصب میشه و سرور رو راه اندازی میکنیم من همه اینارو رفتم و مشکلی ندارم ..فقط یه مشکلی پیش میاد وقتی سیستممو ریستارت میکنم .. چه مراحلی رو برای راه اندازی دوبارش باید طی کنم چون آپاچی و حتی واگرانت همه بسته میشن و وقتی میزنم  ادرس رو باز نمیشه ..با کد vagrant up زدم و واگرانتو اپ کردم مشکل استصال با putty بر طرف شد ولی هرکار کردم apache اجرا نشد .. میشه این مراحل رو هم توضیح بدید 
    با تشکر
    پاسخ:
    موقع خاموش کرن سیستم vagrant halt رو در همون مسیر بزنید
    برای روشن شدن vm هم در همون مسیر بزنید vagrant up
    بقیه موارد مربوط به سرور لینوکس هست اگر apache اجرا نمیشه دستور زیر رو بزنید در puty ببینید اخطار میده
    sudo service apache2 restart
    من این مشکل به وجود امد  وقتی میزنم sudo service apache2 restart

    پیام میامد که apache ناشناسه اپاچی رو هم با دستور 
    ps ax|grep apache میزدم برام اصلا آپاچی رو نمیاورد که بخاد ران باشه یا استوپ
    پاسخ:
    http://www.cyberciti.biz/faq/star-stop-restart-apache2-webserver/

    درود من وقتی اینو میزنم اینجوری میشه :

    root@precise32:~# sudo service apache2 restart
    apache2: Syntax error on line 210 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: undefined symbol: ap_unixd_config
    Action 'configtest' failed.
    The Apache error log may have more information.
       ...fail!


    الان مخصوص ریستارت کردم اینجوری شد ..
    با اون سایتم مشکلم والا حل نشد  یعنی هر بار ریستارت باید کلا دوباره همه مراحلو برم 
    درود ....شرمنده برا نصب yii2 اینارو میزنم این خطاهارو میده :

    composert global require "fxp/composer-asset-plugin:~1.0.3"

    Changed current directory to /home/vagrant/.composer
    Deprecation Notice: The Composer\Package\LinkConstraint\MultiConstraint class is deprecated, use Composer\Semver\Constraint\MultiConstraint instead. in phar:///vagrant/package/composer.phar/src/Composer/Package/LinkConstraint/MultiConstraint.php:17
    Deprecation Notice: The Composer\Package\LinkConstraint\LinkConstraintInterface interface is deprecated, use Composer\Semver\Constraint\ConstraintInterface instead. in phar:///vagrant/package/composer.phar/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php:17
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Nothing to install or update
    Generating autoload files



    composert create-project yiisoft/yii2-app-advanced advanced 2.0.6

     [InvalidArgumentException]
      Could not find package yiisoft/yii2-app-advanced with version 2.0.6.



    create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--keep-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>]




    فقط من composer رو اسمشو composert گذاشتم .

    سلام آقای سیف زاده
    من فقط خواستم بابت آموزش های خیلی خوبتون تشکر کنم
    من آموزش codeigniter رو که مکتب خونه گذاشته بودید دنبال کردم و واقعا مفید بود برام چون هر چی کتاب ها و فیلم های آموزشی گرفتم اصلا ام وی سی رو نمی فهمیدم که یعنی چی ولی بعد از کار با آموزش شما کاملا متوجه ام وی سی هم شدم.

    براتون آرزوی موفقیت و سلامتی می کنم
    آقای سیف زاده ضمن تشکر بابت این همه آموزش بی نظیر می خواستم بگم ایکاش فایل های برنامه رو هم میذاشتین مثل VirtualBox, vagrant, 
    مخصوصا archive که در فصل اول و ویدیویی آموزش نصب آفلاین استفاده کردین
    من نمی دونم اون فایل رو باید از کجا دانلود کنم یا اصلا با چه عنوانی دنبالش بگردم؟
    ممنون میشم اگه در این مورد راهنمایی کنید

    بازم تشکر می کنم بابت این همه آموزش حرفه ای و عالی
  • علی جوان
  • سلام
    وقتی ویدئو آموزش Ci رو دیدم فکر کردم پولی بوده و من همینجوری دانلودش کردم و دنبال اسمتون گشتم که اگه باید مبلغی پرداخت کنم مدیون نمونم.
    ظاهرا این ودئوها رو رایگان منتشر کردید که واقعا کار بزرگیه.
    بسیار از زحمتتون سپاسگزارم
    امیدوارم همیشه سالم و شاد باشید
    پاسخ:
    ممنون. 
    سلام و خسته نباشید - یک سوال خیلی مهم دارم - توی همین مجموعه آموزشی در قسمت کارگاه امنیت شما یک role با نام isAuthor ساختید که فقط پست های خود همون یوزر ویرایش بشه . اومدید اون رو به role مربوط به Author دادید - تا اینجا مشکلی نبود - اما زمانی که این کد رو :
    if (Yii::$app->user->can('updateOwnPost', ['post' => $model])) {
    داخل کنترلر post گذاشتم خود admin هم نمی تونه بره و پست های مربوط به Author رو ویرایش کنه . یه جورایی انگار این کد واسه ادمین هم داره اجرا میشه . مشکل از کجاس ؟؟؟؟ با اینکه اون rol مربوط به updateOwnPost فقط به Author داده شده است
    پاسخ:
    سلام
    بهتره این سوال رو در بخش Yii سایت برنامه نویس مطرح کنید
    http://barnamenevis.org/forumdisplay.php?199-Yii-Framework
    سلام
    با تشکر از زحمات شما
    سوالی از حضورتان داشتم
    تفاوت yii پیشرفته با پایه در چیست؟
    شما در این آموزش بر روی پیشرفته پرداخته اید، البته این نشان از کامل بودن این آموزش و رفتار حرفه ای و دلسوزانه شما است- اما به دلایلی نیاز به کار با بیسیک دارم. آیا با فراگیری این آموزش (advanced)، میتوان کار بر روی Basic را نیز فرا گرفت ؟ 
    لطفا اگر تفاوت هایی وجود دارد و باید پس از یادگیری پیشرفته جهت کار بر روی بیسیک فرا گرفت، منبع ای را در این مورد اعلام نمایید.
    خواهشی داشتم، اگر وقت و مشغله کاری به شما اجازه میدهد، در همین وبلاگ به آن بپردازید.
    با مشاهده چند فایل این پکیج ، تسلط شما در کار و ساخت آموزش های ویدئویی قابل ستایش است. و رایگان قرار گرفتن این کار حرفه ای در دسترس عموم یعنی صرف نظر کردن از منافع بسیار، که امروزه کمتر دیده میشود. آرزوی بهترین ها برای شما دارم
    پاسخ:
    سلام
    تفاوت نسخه basic و advanced‌در جدا بودن قسمت backend و frontend در نسخه advanced هست. ولی تمام دستورات و آموزش فرقی نمیکنه. همچنین بیشتر سایتها نیاز به نسخه advanced دارن. در فیلمها هم فرق این دو  و هدف advanced گفته شده
    اگر سوالی داشتید گروه Yiipersian‌در تلگرام هم هست
    https://telegram.me/joinchat/A3kjrwEG4EUghoLQkKMRYg
    یک دنیا ممنون
    با سلام و خسته نباشید
    استاد در پارت دوم  در فیلم آموزشی که در مورد ساخت یک کنترلر  صحبت میکنید طبق آموزش تمام دستورات رو وارد کردم اما زمانی که وارد آدرس زیر میشم ارور 404 میده
    http://localhost/test/advanced/backend/web/index.php?r=post
    لطفا راهنمایی کنید
    عرض سلام و ادب

    در فیلم های آموزشی جنابعالی، مستنداتی نمایش گذاشته میشود(مستندات با قالب آبی رنگ در حساب گوگل خود دارید ، بخصوص فصل سوم از روی همین مستندات آموزش میدهید- ...- Base concepts Yii2 توسط مهرداد سیف زاده)
    آیا این مستندات از سوی شما در نت برای عموم در دسترس است یا اینکه شخصی است؟
    یعنی ما نیز میتوانیم این نسخه را داشته باشیم - چون با مشاهده فیلم های اموزشی عالی جنابعالی، مرور این مستندات میتواند به یادآوری یادگیری های کاربر کمک کند.
    اگر امکانش هست ، انها را در همین وب در اختیار عموم قرار دهید. البته اگر شخصی نیست
    دوم اینکه، به عنوان نمونه در ویدئوهای آموزشی شما، مثلا پوشه ای را مراجعه میکنید (اسناد یی) که بنا به گفته خودتان، نمونه های کدهای آماده و آموزشی است- مانند جداول آماده که از آنها در دیتابیس.....، اما بنده هر دونسخه یی را دانلود کردم و این موارد موجود نیست.
    یک دنیا بابت این آموزش گرانبها ممنونم
    پاسخ:
    ممنون
    اسلایدها و تمپلیتها و فایلهای دیگه در این لینک هست

    سلام
    مانند همیشه از پاسخگویی سریع شما استاد عزیز تشکر میکنم

    یک پیشنهاد خدمتتون داشتم:
    واقعیت این است که در دنیای امروز هر کسی درگیرها و مشکلات خودش را داراست و البته یک امر طبیعی است- یکی از این موارد هم میتواند مربوط به امرار و معاش و مشکلات مادی هر شخصی باشد.
    با اینکه ارائه آموزش های قبلی از سوی شما کاملا ثابت میکند که جرء آن دسته از استادانی هستید که دارای یک نگاه و رفتار والا میباشید و براحتی دانش و یافته های خود را سعی میکنید تا به دیگران انتقال دهید . اما دیگران باید منصف باشند و قبول کنند که این دانش و تجربیات شما با گذاشتن سالها صرف وقت - هزینه - تلاش و پشتکار برای شما ایجاد شده است و حال شما براحتی آن را در اختیار دیگران قرار میدهید و از طرفی انتقال و ارائه آن به کاربران و سایرین ، باز بدون زحمت - هزینه و صرف وقت ، نخواهد بود. در این کار چیزی که مشهود است، چشم پوشی شما از منافعی است که میتواند به دلیل انتقال این دانش برای شما و هر استادی ایجاد شود، اما شما صرف نظر کرده اید که البته امروزه کمتر کسی ...
    مطمئنا اگر قرار باشد تا کارهای پربار و به عنوان نمونه در همین حوزه آموزش وبرنامه نویسی از سوی شما ، منابع خوبی ساخته و ارائه شود، و این روند ادامه یابد، 100% باید طوری باشد که شما نیز پاسخگویی مشکلات و نیازهای خود در سایر مسائل شخصی خویش باشید.
    البته جسارت نمیکنم و مطمئنا این کارهای ارزشمند و رفتارهای شایسته شما با مادیات قابل مقایسه نبوده و ارزشی فراتر از بحث مادیات دارد

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

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

        چه بسا که اکثریت آموزش های تصویری که هم اکنون با قیمت بالایی در نت و .. در حوزه های مختلف به فروش میرسد، حتی نیمی از کیفیت آموزش های شما را دارا نیست و همین پاسخ های شما در ادامه کار ، در این سایت و سایر سایت ها و انجمن ها بزگترین پشتیبانی میباشد که امروز در کمترین سایت فروش پکیج های آموزشی به چشم میخورد. و یا معمولا در صورت ادعای پشتیبانی ، به آن عمل نمیکنند - حق یارتان
    میشه برای نرم افزارهایی که در این آموزش اشاره شده است لینک دانلود معرفی کنید
    حتی همان آرشیوها و هر چیزی که نیاز است لطف بفرمایید جدا از تمامی نرم افزارهای موجوددر این آموزش، یک در مورد نصب بهترین لینوکس و ورژن آن نیز راهنمایی بفرمایید 
    تشکر
    پاسخ:
    با جستجو در گوگل میتونید به تمام اون‌ها دست پیدا کنید
    سلام
    من چون آموزش افلاین را دنبال میکردم، متوجه نبودم که در 5 آموزش اول بخش 1، لینک های دانلود و سایت ها را جهت دریافت نرم افزارها و فایل ها معرفی کرده اید
    به هر حال تمام فایل ها و نرم افزارها را دانلود کردم وتنها یک مشکل دارم 

    متوجه نشدم که اون فایل فشرده (archive.tgz) با حجم حدود 45 مگ چیست و باید از کجا دانلود کنم . میشه خواهش کنم که لینک دانلود این فایل و یا فایل های موجود در آن  را برای حالت آفلاین قرار دهید.تشکر
    سلام
    لطفا اگر زحمتی نیست ، یک منبع فارسی (لینک سایت - کتاب و ...) برای کار و فراگیری authentication و authorization در PHP به زبان فارسی معرفی کنید (یعنی مدیریت این دو بخش در پی اچ پی بدون استفاده از هیچ فریم ورکی ) - به صورت جامع  - یا به صورت یک پروژه که این موارد در آن لحاظ شده باشد و به روز باشد

    خیلی جستجو داشتم ولی متاسفانه ....
    ممنون میشوم که راهنمایی نمایید
    پاسخ:
    سلام
    بهتره با منابع انگلیسی یه جوری کنار بیاید. پایه انگلیسی خودتون رو قوی کنید. چون بیشتر مباحث برنامه نویسی اصلا به فارسی ترجمه نشده. 
    متاسفانه بنده هم در این مورد تا بحال نوشته‌ای ندیدم. 
  • سجاد جزینی زاده
  • سلام اقای سیف زاده ممنونم از اموزش بی نظیرتون
    میخواستم ی سوال بپرسم در مورد سیستم احراز هویت در فریمورک yii
    برای استفاده از این سیستم حتما باید جدول با استفاده از migration سااخته شود
    ضمنا من ی پروژه با نسخه بیسیک ساختم و میخوام login سایت رو با سیستم yiiiانجام بدم ولی هیچ ایده ای ندارم.
    با استفاده از کلاس شخصی که خودم نوشتم انجام میدم ولی هیچ وقت نتونستم لاگین انجام بدم با سیستم yii لطفا کمک کنید
    پاسخ:
    سلام
    اون migration تیبل‌ها رو میسازه و relation بینشون رو برقرار میکنه. میتونی توی اینترنت ساختار اون تیبل‌ها رو بگیری و دستی بسازی
    نسخه basic هم میتونه از authentication‌ درون yii استفاده کنه. در فیلمها گفته شده که نحوه استفاده از کلاسهای web identity چگونه هست

    سلام
    جناب سیف زاده من مدتهاست که با PHP به صورت خام و بدون هیچ فریم ورکی کار می کردم البته کار که نمی شه گفت، پروژه های دوستان و خودم رو به صورت تفریحی و در اوقات فراقتم انجام میدادم. همونطور که خودتون گفتید، واقعا به این کار علاقه مند بودم و هستم و سعی می کنم که هر روز پیشرفت کنم. در این حال من با آموزش کد ایگنیتر شما آشنا شدم که از سایت مکتب خونه گرفتم و شروع کردم به یادگیری اون. واقعا لذت بخشه و چیزهایی که من بارها تجربه کرده بودم و واقعا در پروژه های سنگین احساس نیاز به اونها می کردم، در کدایگنتر پاسخ داده شده.
    نمی دونم چرا ولی واقعا احساس خوبی به کد ایگنیتر دارم و با وجود اینکه الان فریمورک های جدید و قوی تری به میدان آمدند حس می کنم کد ایگنیتر می تونه به عنوان قدم اول محیط جالبی باشه. چون راستش رو بخواید یخرده از پیچیدگی کار با MVC می ترسم هنوز و امیدوارم که این ترس با کدایکنیتر بریزه. یه پروژه سامانه اتوماسیون اداری داشتم که با PHP نوشته بودم، و الان برای حدود 5000 کارمند در حال کاره و سه ساله که ازش می گذره، برنامه ام اینه که در اولین قدم اون پروژه رو با کدایگنیتر اجرا کنم و بعد از تست و انتشار ورژن جدیدش، سامانه آموزشگاهی هم هست که انشاالله اون رو توی فریمورک جدیدتری مثل لاراول یا Yii پیاده کنم.
    در هر صورت از آموزش واقعا خوب و روانتون کمال تشکر رو دارم و امیدوارم که همیشه تو زندگیتون موفق و پیروز باشید.
    این نکته رو هم بگم که من رشته دانشگاهیم تا پایان ارشد ، عمران بوده و صرف علاقه شخصی از کودکی به این وادی کشیده شدم و الان چی بگم که شب و روزم شده این عشق همیشگی !
    از HTMl و فلش شروع کردم ، کم کم با وردپرس و جوملا و اوپن کارت و ... ادامه دادم و بعد آشنایی با PHP من رو واقعا عاشقش کرد ...
    کاش مثل Qt روزی برسه که PHP رو بشه روی همه چیز اجرا کرد. حتی بشه باهاش برنامه نوشت. اپلیکیشن نوشت و ...
    واقعا زبان دوست داشتنی است.
    با سلام
    تو هاست اشتراکی چطوری advance رو اجرا کنیم نمیشه اخه
    من طبق این اموزش جلو میرم ولی نمیشه
    https://gist.github.com/bisubus/2479a5579c5f1f27c546
    ---------------

    خواهشا جواب بدین 
    .سلام صدای آموزش های فصل دوم مشکل داره از مکتخونه هم گرفتم همینه 
    من تو موبایل میبینماندروید ۵
    پاسخ:
    سلام
    روی pc و با vlc تست کنید
    سلام با تشکر از آموزش خوبتون

    من سورس پروژه رو پیدا نکردم اگه امکان داشته باشه لینک سورس رو در پاسخ بفرستین
    ممنون
    پاسخ:
    https://github.com/seifzadeh/yii2cms
    سلام بسیار عالی
    استاد
    با این آموزش فوق العاده منو به بند کشیدی
    دستت درد نکنه
    خدا خیرت بده
    پاسخ:
    موفق باشید

    سلام


    متوجه نشدم که اون فایل فشرده (archive.tgz) با حجم حدود 45 مگ چیست و باید از کجا دانلود کنم . میشه خواهش کنم که لینک دانلود این فایل و یا فایل های موجود در آن  را برای حالت آفلاین قرار دهید
    پاسخ:
    سلام
    آرشیو فایلهای deb برای نصب سریع بود ولی مشکل با ورژنهای مختلف داشت.
    لزومی به دانلود نیست و برای دانلود هم قرار داده نشده
    با سلام و احترام
    بسیار سپاس گذارم برای تمام زحماتی که برای این سری از آموزش ها کشیدید .
    -زکات علم آموزش آن است - 
    و باز هم تشکر
    پاسخ:
    موفق باشید
    سلام دوست من خیلی بی نظیری 
    Network error: Connection refused
    در اتصال putty  می دهد از چیست؟
    مچکر خیلی آقایی
    پاسخ:
    سلام ممنون
    شما ابتدا ping بگیر ببین ارتباط network برقرار هست. 
    سلام آقا مهرداد برای آرشیو گرفتن tar -czvf name-of-archive.tar.gz /path/to/directory-or-file
     دو اخطار میدهد 1- حق دسترسی 2- وجود نداشتن فایل علت چیست؟
    پاسخ:
    لزومی به ارشیو گرفتن و استفاده از فایل آرشیو نیست
    با دستورات نصب و راه اندازی رو انجام بدید
    سلام خیلی آموزشتون کاربردیه من عاشق یی شدم واقعا استاد دلسوزی هستین.
    خیلی دنبال فایل archives.tgz گشتم پیداش نکردم برای همین مزاحمتون شدم متماسفانه نمیتونم شروع کنم بدون این فایل 
    با تشکر از استاد گرانقدر
    پاسخ:
    لزومی به داشتن این فایل نیست
    شما همون دستورات نصب رو دنبال کنید و سرور رو راه اندازی کنید
    سلام عزیزدلم برای استفاده از putty   حتما باید به اینترنت وصل باشیم؟
    پاسخ:
    سلام
    اگه میخوای به سرور روی اینترنت وصل بشی خب باید به شبکه اینترنت وصل باشی
    اگر روی لوکال هست مثل vagrant vm که نیازی نیست
    اگر میخوای به شبکه خصوصی وصل بشی پس باید آدرس ip هم رنج شبکه بگیری
    سلام آموزش خیلی عالی بود از دانشگاه ناامیدم کردید :)) *تنظیمات خیلی جزیی grid view رو از کجا پیدا کنیم مثلا نمایش عکس رو... یه مثاله برای تمام امکانات یی تنظیمات جزییش تو چه قسمت سایت مرجعشون yiifreamwork هست؟


     
    پاسخ:
    برای کارهای بیشتر روی grid میتونید در stackoverflow سرچ کنید
    یا کلاس GridView رو مطالعه کنید
  • ابوالفضل قهرمانی
  • با سلام یه تشکر گنده برای فیلم های اموزشی تون و اینکه معلم توانایی هستین ........
    یه درخواست داشتم فایلای داکتی که اول فیلم اموزشی نشون میدین بسیار جمع و جوره و خیلی به من کمک خواهد کردخواستم بدونم که خودتون امادش کردین .....و این که نمیشه ازینا من داشته باشم برای اینکه سریع به مطلب رندر کنم خودمو تا دوباره نرم فیلماتون رو باز  کنم ...اگرم نمیشه بازم تشکر بسیار دارم ....همیشه زنده باشین
    پاسخ:
    سلام
    سایت برنامه نویس بخش yii2 فایلها برای دانلود هست
  • کله پاچه
  • سلام عزیزم فوق العاده ای میدونم که میدونستی ولی گفتم برای تایید 
    دوست من عالی ایی ... سوالم اینه که آخرین جلسه 125 برای ساخت بسته install.php چی بنویسم تو گوگل به انگلیسی یا فارسی که راهنماییم کنه خیلی برام مهمه گیر کردم اینجاش. من تو خود سایت یی هم چیزی گیرم نیومد.. کاش آموزش میدادید این جلسه رو ممنون مهرداد جان دوستت دارم 
    پاسخ:
    سلام
    ممنون
    فیلمش رو ببین سورس رو هم از github دانلود کن
    اگر بازم سوالی بود در خدمتم
    http://www.yiiframework.com/forum/index.php/forum/41-persian/

    سلام عزیز زبان فارسی طراحی شد بیایید اونجا 
    پاسخ:
    سالهای پیش راه اندازی شده
    اتفاقا پست همین آموزش هم بالای صفحه هست.
    با تشکر از شما ...
    من سایتمو با نسخه advanced این فریم ورک آماده کردم.اما الان که میخوام بر روی هاست آپلودش کنم به یک مشکل خوردم و اونم اینه که قسمت های backend و frontend کاملا مشخصه و همینجور که تو آموزش هاتون گفتین اون دستورات آپاچی فقط بر روی سرور جواب میده .چجور میتونم توی url سایتم این قسمت هاش نمایش داده نشه ؟؟
    پاسخ:
    به فیلم فصل آخر رجوع کنید
    سلام دوباره. من یک مشکلی دارم تو قسمتی که برای ارسال کامنت از pjax استفاده کردین چون من از قالب دیگه استفاده کردم فرم اعتبارسنجی نمیشه و مقداری هم برام برگشت داده نمیشه .
    با استفاده از firebug این خطا رو میده بهم
    TypeError: jQuery(...).yiiActiveForm is not a function
    میشه راهنماییم کنید؟ یا علی
    درباره سوال قبلم مربوط به خطای
    TypeError: jQuery(...).yiiActiveForm is not a function

    من خودم فکر میکنم ممکنه بخاطر این باشه که ورژن jqueryکه قالب ازش استفاده میکنست ...نمیدونم ...راهنمایی کنید اگه وقت کردین
  • مصطفی عنبری
  • با عرض سلام و وقت بخیر
    crop  و resize  تصاویر در yii چگونه امکان پذیر می باشد
    پاسخ:
    توی راهنمای خودش هست
    میتونید از ماژول زیر هم استفاده کنید
    https://github.com/seifzadeh/yii2-image
    با سلام و عرض ادب 
    استفاده بسیاری کردم از ویدیو شما خدا خیرتون بده 
    خواستم بدون چطور می تونم این قسمت آخر ؛ساخت فایل install.php و انتشار برنامه؛ را کامل یاد بگیرم الان برای جایی کار کردم گیرم اینجاش .. شما یا دوستان عزیزی ویدیویی از این بخش ندارید؟ معرفی کنید بردارم یا تو یوتوب و گوگل چی سرچ کنم انگلیسی که بیاره لینکی ندارید معرفی کنید؟ هر چی میزنم فارسی و انگلیسی نمیاره لطفا کمک کنید......... ؛ساخت فایل install.php و انتشار برنامه؛


    سلام و عرض ارادت
    استاد عزیز جناب مهندس سیف زاده
    من خیلی نظر نمیدم ولی اینجا لازم دیدم بدون تعارف ازتون تشکر کنم
    خیلی خیلی خیلی ممنون
    بخاطر اینکه این مجموعه رو آماده کردید
    و نکته مهم لطف شما به دوستان مبتدی
    رایگان بودن این آموزش هاست
    واقعا عرض کنم هر کسی چنین کار بزرگی رو رایگان نمیکنه
    که علم خودش رو بدون چشم داشت مالی در اختیار دیگران بزاره
    خیلی کارت با ارزش بود
    واقعا واقعا ممنونم

    یه پیشنهاد هم داشتم:
    اگه تو حوزه اندروید هم کار میکنید. بی صبرانه منتظر آموزش پیشرفته برنامه نویسی اندروید شما هستیم
    خیلی مردی،خدا خیرت بده
    یا علی
    سلام من تازه یاد گرفتم به یادگیری و به مشکل خوردم. تو قسمت دوم فیلم ها توی پوشه www من فقط یه فایل Index هست پوشه html نیست. چرا؟
    پاسخ:
    سلام نسخه apache شما فرق میکنه. مشکلی نیست و در همون پوشه www قرار بدید
    سلام من دستور php -v را که میزنم ورژن 5.6 به من نشون میده. ولی وقتی فایل پی اچ پی اینفو باز میکنم ورژن 5.3 رو به من نشون میده. با دستورات a2enmod 2dismod هم وقتی میخام فعال و غیرفعال کنم این پیغام می ده به من:
    ERROR: Module php5.3 does not exist! ERROR: Module php5.6 does not exist! لطفا راهنماییم کنین دوروزه دنبال راه حل اینم و نتونستم درستش کنم
    سلام شما تو فیلم گفتین این دستور برا اضافه کردن php5 به ppa بزنیم:

    root@precise32:~# sudo add-apt-repository ppa:ondrej/php5
    ولی من وقتی این دستور میزنم این پیغام میده:
     Cannot access PPA (https://launchpad.net/api/1.0/~ondrej/+archive/php5) to get PPA information, please check your internet connection.
    وقتی هم این مراحل با همون دستور ولی بدون 5 تا اونجایی که شما گفتین میرم. ورژن پی اچ پی من به 5.6 تغییر نمیکنه و وقتی دستور phpnfo رو میزنم
    PHP Version 5.3.10-1ubuntu3.26اینو بهم نشون میده.
    چجوری میتونم ورژن پی اچ پیمو 5.6 بکنم؟ لطفا راهنماییم کنین





    پاسخ:
    سلام
    اوبونتو 12.04 دیگه خیلی قدیمی شده
    از نسخه 14.04 استفاده کنید که تمام repo ها هم آپدیت شده
    بزنید
    vagrant add ubuntu/trusty64
    سلام من از آموزشتون استفاده کردم و یک وب سایت خبررسانی تقریبا کامل ساختم فقط تو فیلم آخر مشکل دارم شما اولش از یک فایل از قبل استفاده شده شروع کردین و اصن مفهوم نیست گه باید چه کرد برای درست کردن فایل install.php میشه لطفا یه لینک برای جستجو به ما بدین؟
    پاسخ:
    سلام
    همه قسمتهای فایل install.php خط به خط توضیح داده نشد
    ولی این که به چه صورت کار میکنه توضیح داده شده
    همچنین سورس کامل پروژه هم در دسترس هست میتونید فایل رو بررسی کنید
    سلام و عرض ادب

    جناب آقای سیفی زاده :
    ابتدا از شما بابت کار بزرگتان تشکر میکنم

    دوم اینکه استفاده از تنظیمات زیر در کانفیگ db ، چه مشکلات ممکن است پیش آورد:

      'enableSchemaCache'=>true,
        'schemaCacheDuration'=>3600,
        'schemaCache'=>'cache',

    به عنوان نمونه اگر در طراحی یک سایت کلیکی ، تنظیمات بالا استفاده شود، آیا اطلاعات برای هر کاربر از روی دیتابیس ، بروز نخواهد بود از کش خوانده میشود
    و یا اینکه فقط نام جداول و دیتابیس ها در آن تاثیر گذار است

    چون با تنظیمات بالا ، حداقل 4 کوئری کمتر ایجاد میشود و .......

    اگر ممکن است برای مورد زیر هم توضیح دهید:
    'enableQueryCache'=>true,


    با احترام
    پاسخ:
    ببخشید که  خیلی دیر جواب میدم
    یک سری تنظیمات برای افزایش سرعت هست. که اتفاقا خیلی مناسب و توصیه میشه حتما استفاده کنید. مقاله زیر هم میتونه کمک کنه
    https://www.yiiframework.com/doc/guide/2.0/en/tutorial-performance-tuning

    در حالت عادی با هر بار فراخوانی کلاس مدل، یک بار از تیبل describe میگیره که ساختار فیلدها رو در بیاره. شما بعد از نهایی کردن نرم افزارتون، دیگه هر روز که به ساختار تیبل ها دست نمیزنید، و این یه بار اضافی بعد از مرحله Dev و رسیدن به مرحله Prod هست. با فعال سازی این کانفیگ، ساختار تیبل ها کش میشه و در هزینه گرفتن describe بهینه تر میشه.

    سلام مجدد
    ضمنا میخواستم بدونم که در تنظیمات بالا، اصلا کش شدن به چه صورت است . مثلا همان سایت کلیکی، آیا برای هر کاربر به صورت مجزا است و یا .....
    متاسفانه هیچ اطلاعاتی در مورد کش ندارم و به نظرم در نت هم ، بسیار کم به آن پرداخته شده است.
    با تشکر
    سلام

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

    سلام دوستان این آموزش های لاتین رو هم ببینید بد نیست :
    https://www.youtube.com/watch?v=jkIVxN5_WFc&list=PLRd0zhQj3CBmusDbBzFgg3H20VxLx2mkF&index=2

    58 قسمته
    پاسخ:
    ممنون از شما برای معرفی دوره
    فایلها رو دانلود و در مسیر زیر آپلود کردم. حجمش ۲ گیگ هست
    http://uploadboy.me/d2nf1s8bqixr/yii2-DoingITeasyChannel.tar.html

    با عرض سلام و احترام
    بنده موفق به دانلود  Ubuntu precise 64 VirtualBox اگر راهنمایی کنید ممنون میشم
    پاسخ:
    برید در مسیر زیر
    https://app.vagrantup.com/boxes/search
    و نسخه جدید ubuntu رو نصب کنید
    ubuntu/trusty64

    wish you luck
    سلام ببخشید ارسال فکس و ایمیل با yii2 را میگد چی کار باید کرد و اگه پلاگین اماده داره از کجا باید گرفت
    ممنون
    سلام و عرض ادب جناب آقای استاد سیف زاده
     http://uploadboy.me/d2nf1s8bqixr/yii2-DoingITeasyChannel.tar.html 

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

    خیلی ممنونم از آموزش ها و نحوه تدریس عالی تون

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

    پاسخ:
    سلام و ارادت. آموزش روی ویندوز هم گفته شده

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

    پاسخ:
    سلام و تشکر. با نرم افزار VLC تست کنید.

    سلام مجدد. با نرم افزار VLC هم چک کردم ولی باز همون حالت هست متاسفانه. حتی آنلاین هم که داخل دراپ باکس گذاشتین همون حالته و اصلا نمیشه متوجه کلمات شد انگار فقط نویز ضبط شده. احتمالا فایل خراب شده میشه چک کنید ؟

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی