ساختار پروژه در فریم ورک yii

ساختار پروژه  در فریم ورک yii

 

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

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

و همچنین ظاهر و امکانات پروژه ی ایجاد شده آشنا بشیم

من پروژه ی ایجاد شدرو توی netbeans ایمپورت کردم.

تصویر ساختار پروژو میتونین توی تصویر ببینید

آموزش فریمورک یی آموزش فریم ورک یی فریمورک یی فریم ورک یی فریمورکyii فریم ورک yii yiiframework yii framework

 

خوب یه توضیح مختصر در رابطه با ساختار فولدر ها در پروژه میدم که با ساختار اون آشنا بشین:

 

ساختار پروژه  در فریم ورک yii

 

asset :

اول از همه این فولدر باید توی سرورتون قابل نوشتن باشه : writable باشه .
زمانی که به فایلای css و js و.. نیاز باشه اونارو منتشر میکنه : در فولدر asset ایجادشون میکنه write میکنتشون.
زمانی که پروژتون چند تا ورژن داره (یعنی مثلا یه ورژن برای نمایش عموم , یه ورژن برای برنامه نویس , یه ورژن هم واسه تست)

دیگه لازم نیست فولدر asset رو توی همش کپی کنین. خودش مدیریت میکنه.
مدیریت کلیه ی فایل های شما نظیر css,js , images , videos , … در این فولدر انجام میشه.
زمانی که شما از ماژول یا ویجتی استفاده میکنین که فایل جاوا اسکریپتیو صدا میزنه ,

asset bundle به صورت اتوماتیک آن را در فولدر asset ایجاد کرده ,
این کار باعث میشه اگر ماژولی از همین اسکریپت استفاده میکنه یا دوباره هموم ماژول صدا زده میشه ,
فایل ها تکرار نشه و با هم تداخل ایجاد نکنه : یعنی یه اسکریپت ۴۰ بار صدا زده نشه .
(اگه اطلاعات بیشتری در این مورد دارین خوشحال میشم منم بی نص(س)یب نزارین)
css : فایل های css در این فولدر قرار میگیره :

نکته این که شما میتونین برای فایلای css , js , image و .. مسیر دلخواه خودتونو داشته باشیم.
images : معلومه که تصاویر در این فولدر نگهداری میشوند.
protected: فولدر اصلی پروژه و در واقع تمام اتفاقات در این فولدر مدیریت میشه
فولدر بعدی themes هست که میتونین واسه پروژتون تم و قالب دلخواه تعریف کنین و از اون استفاده کنین.
خوب حالا فولدر مهم protected رو بررسی میکنیم.

comands:

برای نوشتن دستورات استفاده میشه : مثل کامند لاین یه سری دستورات را مینویسین و در جای مناسب میتونین صدا بزنینشون.
برای مثال خود فریم ورک کامندی داره برای کوئری زدن که با این دستور اجرا میشه :
Yii::app()->createCommand(‘select * from user ‘)->execute();
components: کلاس هایی هستند که میتونه کمک کنه در منطق کسب و کار بر اساس مدل های شما.
در واقع سورس و منطق فریم ورک هستند.
config: این فولدر تنظیمات پروژه : شامل اتصال به دیتابیس , پارامتر ها , ماژول ها و کامپوننت ها رو بر عهده داره
controllers: این فولدر کنترل ها رو مدیریت میکنه در واقع حلقه ای از معماری mvc هست .
(در آموزش های بعدی حتما نحوه ی کار mvc را با یه مثال عملی شرح میدیم.تا به خوبی متو

جه بشین. دونت وری :D)
data:فایل های sql در این فولدر میتونین قرار بدین
extensions:ماژول هایی هست که توسط برنامه نویسان یی نوشته میشه و ازشون میشه توی پروژه استفاده کرد.
خودتونم میتونین بنویسین .
http://www.yiiframework.com/extensions/
messages: این فولدر برای ذخیره کردن پیام ها و نوشته های زبون مورد نظرتونه.
میتونین فایلای ترجمتونو اینجا قرار بدین.فریم ورک یی از فارسی هم پشتیبانی میکه .
migrations: با استفاده از میگریشن میتونین جداول دیتابستونو از طریق اپلیکشین ایجاد

کنین.
تقریبا هموم کوئری ای که توی mysql وارد میکنینو توی توابع میگریشن مینویسین و با دستوری که با yiic مینویسین اونو اجرا میکنین.
مزیتش اینه که تمام کوئریه جداولتونو دارین , به راحتی میتونین

اطلاعاتی بهش اضافه کنین یا کم کنین و دوباره اجراش کنین.

برای اطلاعات بیشتر به این سایت مراجعه کنین: http://www.yiiframework.com/doc/guide/1.1/en/database.migration

models:

این فولدرمدل هارو مدیریت میکنه در واقع حلقه ای از معماری mvc هست .
از مدل برای مدیریت جدول دیتابیسمون استفاده میکنیم. اطلاعاتی نظیر نام جدول , ستون هاش , روابط و ….

(در آموزش های بعدی حتما نحوه ی کار mvc را با یه مثال عملی شرح میدیم.تا به خوبی متوجه بشین. دونت وری :D)
runtime: داده ها و اطلاعاتی که هنگاه اجرای پروژه ثبت میشه در این فولدر ذخیره میشه: مثل log های سیستم
tests:این فولدر برای تست کلی اپلیکیشنتون هست ,
به این معنی که کد هایی که نوشتینو به نحوی مینویسین که قابل تست گیری باشه.
با تست گیری مشخص میشه که کجاها کداتون خطا داره و کار نمیکنه: (این موردو اصلا کار نکردم خودم .
ازشم ترس دارم . کسی بلده ممنون میشم یه آموزش کوچیک به منم بده )
vendor: برای استفاده از لایبری ها library از این فولدر استفاده میشه.
یه لایبریه مهم و خوبی که مثلا استفاده میشه zend_lucene هست که برای جستجوی بهتر توی سایت استفاده میشه .
آموزش این لایبری هم حتما قرار میدیم توی سایت.
views: هر آنچه که به کاربر میخوایم نشون بدیم توی این فولدر قرار میگیره .
حلقه ای دیگر معماری mvc هست .

ساختار پروژه  در فریم ورک yii
(در آموزش های بعدی حتما نحوه ی کار mvc را با یه مثال عملی شرح میدیم.تا به خوبی متوجه بشین. دونت وری :D)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *