PDA

View Full Version : نصب فریم ورک YIi2.0



mohammadsoltani
دوشنبه 11 خرداد 1394, 11:51 صبح
با توجه به اینکه خیلی از افراد در موقع نصب نسخه جدید این فریم ورک با مشکل بر خورده اند،تصمیم گرفتم ،آموزش نصب آن را به صورت روان و سلیس در خدمت شما عزیزان قرار دهم

Resized to 92% (was 730 x 497) - Click image to enlargehttp://uupload.ir/files/wet9_untitled.png
Resized to 91% (was 731 x 389) - Click image to enlargehttp://uupload.ir/files/46vf_untitled.png


http://uupload.ir/files/grlu_untitled.png

mohammadsoltani
یک شنبه 17 خرداد 1394, 17:02 عصر
لطفا نظر خود را در رابطه با این آموزش بیان کنید تا ببینم که آموزش های بعدی را در رابطه با فریم ورک yii را روی سایت قرار بدهم یا نه؟

under22
یک شنبه 17 خرداد 1394, 17:18 عصر
لطفا نظر خود را در رابطه با این آموزش بیان کنید تا ببینم که آموزش های بعدی را در رابطه با فریم ورک yii را روی سایت قرار بدهم یا نه؟
دو تا نکته به نظرم اومد
بهتر بود اول فرق دو نسخه basic و advance رو برای افراد تازه وارد میگفتید
نصب فریمورک به روش Composer خیلی بهتر از روش دانلود هست و پیشنهاد میشه به اون شکل نصب بشه کار سختی نیست یکسری قلق داره اگه برنامه نویس بلد باشه دو چند دقیقه نصب میکنه منم خودم همیشه از composer استفاده میکنم اینطوری موقع نصب اکستنشن هم اذیت نمیشید

mohammadsoltani
یک شنبه 17 خرداد 1394, 17:21 عصر
باشه در آموزش بعدی درباره تفاوت نسخه های basic و advanced توضیح داده می شود و همچنین نحوه نصب فریم ورک با composerنیز آموزش داده می شود.
بازم از نظرتون مچکرم و امیدوارم دیگران نیز نظر خود را بیان کنند تا بحمد الله بتوانیم یک سری آموزشی مفید از این فریم ورک را در اختیار شما عزیزان قرار دهم.

mohammadsoltani
یک شنبه 17 خرداد 1394, 17:26 عصر
از امروز تصمیم دارم آموزش مقدماتی کار با فریم ورک Yii2 و مفاهیم مقدماتی را خدمتون عرض کنم.بی زحمت نظرات خود را در رابطه با هر جلسه بیان کنید تا بحث ها گرم تر و از نظرات هم استفاده کنیم.

mohammadsoltani
یک شنبه 17 خرداد 1394, 17:37 عصر
جلسه اول)آشنایی با فریم ورک Yii


بخش اول)آموزش مفهوم فریم ورک

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

1)بالا بردن سرعت کدنویسی برنامه نویسی
2)جلوگیری از دوباره نویسی کدها
3)دادن نظم به کدهای یک پروژه
4)بالا بردن خوانایی کد
5) قابلیت استفاده مجدد از کدهای نوشته شده
6)مورد استفاده در پروژه های بزرگ و کارهای مشترک تیمی

اگر توجه کرده باشید هر زبانی با داشتن یک Framework قوی قدرت پیدا می کند مثلا:

Java با Spring قدرت پیدا کرد.
Javascript با JQuery وGoogle Dart قدرت پیدا کرد.
C#‎‎‎ با .Net قدرت پیدا کرد و Ruby با Rails قدرت پیدا کرد و PHP هم با Yii قدرت پیدا کرد.

بخش دوم)آموزش با فریم ورک Yii

سازنده :شخصی به نام Qiang Xue در سال 2008 و یک فریم ورک متن باز است.این شخص قبل از این فریم ورک روی فریم ورک دیگری به نام PRADO کار می کرد.و در سال 2012 نسخه 1.1.12 توسعه داده شد.

آشنایی با واژه:
Yii مخفف سه کلمه Yes It Is! می باشد، که در پاسخ به سوالاتی همچون: آیا اون سریع است؟ آیا اون یک فریم ورک امن است؟ آیا اون یک فریم ورک حرفه ای است؟ آیا این فریم ورک مناسب برای پروژه ی بعدی من هست؟ و در جواب به تمام این سوالات باید گفت:
Yes It Is! بله اون هست
تلفظ این کلمه (:Yee or (ji است.

آشنایی با قابلیت های این فریم ورک
1) Yii یک فریم ورک مبتنی بر component و به دلیل پشتیبانی از بحث caching مناسب،برای ساخت سایت های پر ترافیک مثل پورتال ها و فروم ها و CMS ها و.. می باشد.

2) توانایی گسترش و توسعه و ارتباط آسان بین دیگر فریم ورک ها را داراست.
3) پشتیبانی از ajax
4) پشتیبانی عالی از ساختار MVC
5) در این فریم ورک شی گرایی به عنوان یک اصل اولیه مطرح شده است.
6)استفاده از حالت کشینگ پیشرفته
7) پشتیبانی از Authentication
8) پشتیبانی از Validation
9)پشتیبانی از ماژول ها
10)استفاده در تمام برنامه های مبتنی بر وب با هر مقیاسی
11) قابلیت استفاده مجدد از کدهای نوشته شده
12) این فریم ورک به ما کمک میکنه تا با اصول DRY (Don`t repeat yourself) کد نویسی کنیم. DRY : به این معنی است که در یک پروژه برای هر عمل فقط یک بار کد بنویسیدو یکی از اصول اصلی متدولوژی چابک مهندسی نرم افزار است.یکی از اصلی ترین مزیتهای DRY اینه که اگر نیاز باشه قسمتی از پروژه تغییر پیدا کنه معمولا فقط یک قسمت از کدها باید ویرایش بشه. یکی از بزرگترین کابوسهای برنامه نویس ها نگهداری از کدهای نوشته شده است به این معنی که هنگامی که یک سری از کارها به بارها و بارها انجام میشه و هر تغییری که نیاز باشه در کدها داده بشه باید تمام قسمتهای برنامه چک بشه و تغییر داده بشه. اصطلاح "خودت را تکرار نکن" (Don’t Repeat Yourself-DRY) در مهندسی نرم افزار یک اصل در توسعه نرم افزار است که با کاهش تکرار هر نوع اطلاعاتی، تحقق می یابد.
13)باعث می شود برنامه شما بیشتر در بازار بتواند مقیم باشد.
14)برنامه های مبتنی بر این فریم ورک،برنامه های با سرعت لود بالا هستند.
15)امکان localization را به شما می دهد،یعنی اینکه می توانید سایتتان را به راحتی به زبان های مختلف ترجمه کنید.
16)امکان تعریف ruleهای سلسله مراتبی را برای دسترسی به داده ها را به ما می دهد.
17)امکان یکپارچه سازی و ادغام دو وب سرویس soapوrestرا به ما می دهد.
18) از ORM پشتیبانی می کند(بسیاری از فریم ورک های امروزی که در حال توسعه و استفاده در سرتاسر دنیا هستند به همراه قابلیت ORM به بازار می آیند.)
Object relational mapping روشی برای تطابق با شی گرایی است. از آنجایی که بانک اطلاعاتی mysql یک بانک اطلاعاتی رابطه ای است لذا در روش orm یک بانک اطلاعاتی مجازی از بانک اصلی mysql ساخته می شود و عملیات بر روی آن با استفاده از روش شی گرایی انجام می شود و سپس این بانک اطلاعاتی مجازی بر روی بانک اصلی updtae می شود. برای برنامه نویسان net. این موضوع آشنا است و در ado.net مفهوم بانک اطلاعاتی مجازی در قالب dataset ارائه می شود.
از این به بعد در هر کجا کلمه orm را گفتیم به همین شی گرایی دیتا بیس اشاره میکنیم و منظورمان همین شی گرایی دیتا بیس می باشد. کتابخانه orm این تبدیل طرح رو از جدول های دیتا بیس به شی کلاس های دامنه ارائه میکند.بسیاری از کدهایی که با orm در حال دادو ستد هستند درباره توصیف چگونگی فیلدها در دیتابیس مطابقت میکنه با فیلدهایی که در اشیای orm وجود دارند،که برای نوشتن تکراری هستند.خوشبختانه، yii در اینجا نیز به کمک ما می آید تا ما را از این تکرار و یکنواختی به وسیله ارائه لایه ORMدر قالبالگویAR نجات دهد.

Active Record
همانطور که قبلاً اشاره شد، Ar همانند یک الگوی طراحی(design pattern) است که برای دسترسی به پایگاه داده خیالی در مد شی گرایی استفاده می شود . این جداول به کلاس‌ها، ردیف‌ها به اشیاء و ستون به ویژگی های شئ ترسیم می شوند. به عبارت دیگر، هر نمونه از کلاس رکورد فعال نشان دهنده یک سطر در جدول پایگاه می باشد. نتیجه نهایی یک کلاس است که تعریف میکنه همه چیز رو در مورد چگونگی نوشته شدن و خواند از دیتا بیس. با تکیه به قرارداد و تکیه به منطق پیش فرض ، کاربرد yii از AR باعث میشه که در وقت توسعه دهندگان صرفه جویی بشه و کارهای تکراری تا حدودی حذف شود.همچنین به توسعه دهنگان اجازه می دهد تا به داده های ذخیره شده در پایگاه داده به صورت کاملاً شی گرایی دسترسی داشته باشند. برای نشان دادن این گفته ها، اینجا مثالی رو نشون میدیم که از AR برای اداره کردن روی یک پست بلاگ ویژه با Id خاص استفاده میکنه ، که کلید اصلی در جدول استفاده شده 99 می باشد.این کدها اول بازیابی میکند محتویات پست رو به وسیله کلید اولیه یا همون کلید شاخص(primary) ، سپس عنوان رو تغییر میده، و سپس به روز رسانی میکنه پایگاه داده ر.و برای ذخیره تغییرات:

$post=Post::model()->findByPk(99);
$post->title='Some new title';
$post->save();
تذکر:هسته این فریم ورک با کتابخانه Zii طراحی شده است.

mohammadsoltani
یک شنبه 17 خرداد 1394, 17:56 عصر
بی زحمت اگه کسی هم آموزش دیگر در رابطه با موضوع هر جلسه داره،بزاره تا دیگران هم استفاده کنن.
زکات علم نشر اونه.

mohammadsoltani
دوشنبه 18 خرداد 1394, 13:56 عصر
لطفا اگه شما نظری دیگر در مورد قابلیت های این فریم ورک دارید،بیان کنید تا آموزش کامل شود و بی زحمت نظرات خود را در رابطه با جلسه اول بیان کنید تا وارد جلسه بعدی شویم.

mohammadsoltani
دوشنبه 18 خرداد 1394, 18:03 عصر
جلسه دوم)تفاوت Architecture با Framework

framework شامل مجموعه ای از کلاس ها و ابزارها است که که شما کمک می کند که یک نرم افزار خوب را تولید کنید. به عبارتی دیگر فریم ورک مجموعه ای از ابزارها است که که به وسیله انها شما می توانید خود Architecture (نقشه ساختمان)را پیاده سازی کنید.مثال فریم ورک .Netو فریم ورک Yii

http://panup.net/uploads/s17332_1.jpg http://panup.net/uploads/w02173_2.png

Architecture یک الگوی طراحی (design pattern) است و نشان می دهد چگونه یک فریم ورک طراحی شده،سازماندهی شود و همان متدولوژی و ایده انتزاعی از سیستم است،مثال MVC

http://panup.net/uploads/k98108_3.png

خلاصه: Architecture همان نقشه ساختمان است و Framework شامل ابزاری(مثل آجر،گچ،سیمان،سیم و...) است که به کمک آن می توانید نقشه مربوطه را پیاده سازی کنید و خانه را بسازید.
لطفا نظرات خود را در رابطه با هر جلسه بیان کنید تا آموزش پویایی خود را حفظ کند.

نویسنده:آقای محمد سلطانی دانشجوی رشته فناوری اطلاعات دانشگاه صنعتی اصفهان

mohammadsoltani
دوشنبه 18 خرداد 1394, 21:31 عصر
لطفا نظرات خود را در رابطه با مطالب این دو جلسه اعلام کنید.