نوشتن "Hello, World"
در پی اچ پی بسیار آسان است، ولی ساخت یک برنامه وب واقعی پیچیده سریع تر انجام می شود. به محض این که بخواهید امنیت را مدیریت کنید یا کد های DRY بنویسید، یا از تکنیک های اهرم MVC استفاده کنید، طوری به نظر می رسد که اصلا PHP وجود ندارد. در گذشته من باRuby on Rails کار می کردم ولی متوجه شدم که کار آن دشواری های خودش را دارد،به ویژه هنگامی که حرف از میزبانی وب و استقرار در یک روش اقتصادی به میان می آید. این زمانی است که فریم ورک هایPHP وارد می شوند.
تعدادی فریم ورک خوب وجود دارد به عنوان مثال Symfony، Cake، Zend، CodeIgniter، Laravel و فریم ورک مورد علاقه من Yii است. Yii یک فریم ورک رایگان و منبع باز برای PHP5 است که از طراحیDRY، دستورات واضح، و توسعه سریع پشتیبانی می کند. من دریافته ام که Yii امکانات وسعی از همه چیز که یک فریم ورک برای استفاده در عملکرد های بالا به آن نیاز دارد را با کمی محدودیت، که دیگر فریم ورک های PHP تحمیل می کنند را عرضه می کند.
یکی از مهمترین ویژگی های Yii در کارایی آن است، که در هنگام انتخاب فریم ورک مهم است:
همچنین امکانات وسعی از قابلیت ها را دارا است که این اجازه را می دهد به سرعت و به راحتی برنامه های وب بهینه ایجاد کنیم. و مهمتر اینکه، Yii دارای مستندات و فروم عالی می باشد. Yiiپایدار و time-tested است. توسط توسعه دهنده ای به نام Qiang Xue ساخته شده است، که نگارش 1.x در حدود سال 2008 ، و نسخه 2.0 آن در حال حاظر منتشر شده است، آنها در حال تکمیل مستندات و آزمایش های نهایی هستند.
ویژگی ها
به عنوان یک فریم ورک با عملکرد بالا، Yii مجموعه ای کامل از قابلیت ها و ویژگی ها را ارائه می دهد، و این یکی از دلایلی است که نظرم را به این فریم ورک جلب کرد. شما می توانید برخی از مثال ها Yii را درYii Playground مشاهده و تست کنید.
لیست زیر برخی از نکات مهم آمده است:
- معماری Model-View-Controller. درست مانند Ruby on Rails، در حال حاضر شما می توانید از MVCدر برنامه PHP خود استفاده کنید.
- اشیاء دسترسی به پایگاه داده (Database Access Object) یا DAO، رکورد فعال (Active Record)
- فرم ورودی، اعتبارسنجی، و پشتیبانی از آژاکس. Yii ساخت فرم ها را بسیار ساده می کند.
- ساخت احراز هویت و و الحاقات قدرتمند مدیریت کاربر، که ساخت برنامه وب را آسان می کند.
- Yii از ابزار تولید کد توکار استفاده می کند، Gii، باعث می شود توسعه برنامه های شما با استفاده از چارچوب MVC سریعتر صورت گیرد.
- خط فرمان Yii. شما می توانید Yii را از طریق خط فرمان اجرا کنید. با این روش این امکان به وجود می آید که در وظایف پس زمینه PHP، برنامه های با کارایی بالا تولید کنیم.
- گزینه های قالب دهی مانند Bootstrap extension برنامه ساخته شده ما را زیباتر و ریسپانسیو می کند.
- پشتیبانی Yii از ذخیره لایه باعث راحتی در اجرای انواع ذخیره سازی در برنامه می شود.
- امنیت. Yii تا حد زیادی عوامل خطرناک در حال اجرا در PHP و MySQL را به حداقل می رساند.
- یکپارچگی با سایر چارچوبها. به راحتی می توانید با قابلیت های Zend یا PEAR در Yii استفاده کنید. جامعه Yii انواع رایگان افزونه ها و ابزارک ها را ارائه می دهد.
- بین المللی کردن. Yii از I18N پشتیبانی می کند تا بتوانید برنامه خود را با زبان محلی خود ایجاد کنید.
- رفع خطا، ورود به سیستم و تست، بلــه، Yii ارائه می دهد.
Yii همچنین نسخه ی بدون محدود ویرایشگر مجبوب و زیبای تحت وب Redactor را خریداری کرده است، بنابراین شما می توانید در برنامه خود از آن استفاده کنید. این ویژگی فوق العاده برای ورودی های CMS با محتوای غنی بسیار مفید است.
مستندات Yii و انجمن ها نیز راهنمایی های مفیدی را ارائه می دهند. برای شروع Yii برخی از کتاب های زبان اصلی بسیار مفید است.
- معماری Model-View-Controller. درست مانند Ruby on Rails، در حال حاضر شما می توانید از MVCدر برنامه PHP خود استفاده کنید.
- اشیاء دسترسی به پایگاه داده (Database Access Object) یا DAO، رکورد فعال (Active Record)
- فرم ورودی، اعتبارسنجی، و پشتیبانی از آژاکس. Yii ساخت فرم ها را بسیار ساده می کند.
- ساخت احراز هویت و و الحاقات قدرتمند مدیریت کاربر، که ساخت برنامه وب را آسان می کند.
- Yii از ابزار تولید کد توکار استفاده می کند، Gii، باعث می شود توسعه برنامه های شما با استفاده از چارچوب MVC سریعتر صورت گیرد.
- خط فرمان Yii. شما می توانید Yii را از طریق خط فرمان اجرا کنید. با این روش این امکان به وجود می آید که در وظایف پس زمینه PHP، برنامه های با کارایی بالا تولید کنیم.
- گزینه های قالب دهی مانند Bootstrap extension برنامه ساخته شده ما را زیباتر و ریسپانسیو می کند.
- پشتیبانی Yii از ذخیره لایه باعث راحتی در اجرای انواع ذخیره سازی در برنامه می شود.
- امنیت. Yii تا حد زیادی عوامل خطرناک در حال اجرا در PHP و MySQL را به حداقل می رساند.
- یکپارچگی با سایر چارچوبها. به راحتی می توانید با قابلیت های Zend یا PEAR در Yii استفاده کنید. جامعه Yii انواع رایگان افزونه ها و ابزارک ها را ارائه می دهد.
- بین المللی کردن. Yii از I18N پشتیبانی می کند تا بتوانید برنامه خود را با زبان محلی خود ایجاد کنید.
- رفع خطا، ورود به سیستم و تست.
میباشد؟
فریم ورک yii نیز مانند اکثر فریمورک ها به شکل MVC یا همان معماری Model View Controller میباشد .
فریم ورک yii را برای چه مواردی میتوان بکار برد؟
فریم ورک yii دارای سیستم cache بسیار قوی مجهز است و برای طراحی پرتال ، فروم و انواع اپلیکیشن کاربرد دارد .
ساختار یک اپلیکیشن در Yii
یک پوشه در کدپایه کلی وجود دارد که عموما برای وب سرور موجوداست.وآن Web directoryاست.پوشه های دیگر بیرون Web root directoryبرای وب سرور غیر قابل دسترس است.
نکته:همه وابسته های پروژه در فابل Composer.json قراردارد.یی2 پکیج های تقریبا مهم رادارد که قبلا در فایل Composer.jsonقرارگرفته است.پکیج های عبارتند از:
• Gii – The code generator tool
• The debug console
• The Codeception testing framework
• The SwiftMailer library
• The Twitter Bootstrap UI library
سه پکیج اول فقط برای محیط برنامه نویسی قابل استفاده اند.
ساختار اپلیکیشن های یی2 دقیق و واضح است وشامل پوشه های زیر است:
Assets
این پوشه شامل همه فایل های باپسوند(.js)و(.css) که به صفحه وب اشاره میکنند است
Commands
این پوشه ها شامل کنترلر هایی است که میتولند درTerminalاستفاده شوند
Config
این پوشه شامل فایلهایConfigکه برای مدیریت پایگاه داده اپلیکیشن ها وپارامتر های اپلیکیشن استفاده میشود است
lاین پوشه شامل Mail layoutاست
Models
این پوشه شامل مدلهایی است که در اپلیکیشن استفاده میشود
Runtime
این پوشه برای نگهداری داده های زمان اجراست
Tests
این پوشه شامل تمام تست های برنامه میشود(مثل پذیرش،ولحد ها وتایعی)
Vendor
این پوشه شامل تمام پکیج هایThird-partyاست که باcomposerمدیریت میشوند
Views
این پوشه برای طرز قرار گیری است که با کنترلر ها نشان داده میشوند پوشه Layoutبرای قالب صفحه است
Web
این پوشه برای نقطه دسترسی از وب است
yii2-اشیا
لیست زیر شامل تمام اشیا موجود در یی است مدل ها،Viewهاوکنترلرها
مدل ها برای ارائه داده هااست(معمولا از پایگه داده)Viewبرای نشان دادن داده وکنترلرهابرای پردازش درخواست هاو تولید پاسخ هستند
کامپوننت ها
برای قابلیت استفاده مجدد،کاربر میتواند کامپوننت موردنظر خود رابنویسد،کامپوننت ها فقط اشیایی هستند که حاوی منطق است،برای مثال یک کامپوننت میتواند یک مبدل وزن باشد.
کامپوننت های برنامه
این ها اشیایی هستند که فقط یکبار در کل اپلیکیشن معرفی شده اند.تفاوت اصلی بین کامپوننت ها وکامپوننت های برنامه این است که دومی فقط میتواند یک معرفی درکل اپلیکیشن داشته باشد ویجت ها
ویجت ها ابزارهایی باقابلیت استفاده مجدد که هردوی منطق وکدهای رندرشده را داراست.یک ویجت میتواند برای مثال یک ابزار برای گالری باشد
فیلترها
فیلتر ها اشیایی هستند که میتوانند قبل وبعد از اجرای اعمال کنترلر استفاده شوند
افزونه ها
افزونه ها پکیج هایی هستند که میتوانند باComposerمدیریت شوند