Myanmar Coder Guide

Course Outline from w3school.com

Monday, December 21, 2020

Laravel_Application_Structure

Tags Laravel Intro

Application Structure in laravel

Project ကို laravel Framework သုံးး ပြီးး ရေးး ရတွင် ပါဝင်မည့် folder,sub folder,files တွေ့ ကို‌အောက်ပါ screen shot တွင် ဖော်ပြထား ပါ သည်။

Application structure တွင် ‌သိထား ဖို့ လိုတယ် folder ကို (*) and red colour ဖြစ် ဖော်ပြထား ပါသည်။။


Laravel's app directory

  • App directory က project တွင် အ ရမ်းး အ ရေ ပါ သော directory တစ်ခု ဖြစ်ပါ တယ် ။ Project တစ်ခု classes အားးလုံးး နီးး ပါ သည် directory လဲ ဖြစ်သည်။App directory တွင်ပါဝင်သည် folder တွေ့ကိုအောက်ပါ screen shot တွင့် ပြ ထားး ပါ တယ်
  • Console ဆို တယ် folder က artisan comment line interface ကို သုံးး လို့ ရ အောင် kernel.phpတွင် built in ရေးး ထားး ပါ သည်။
  • Exceptions directory က ကိုယ် ရဲ့ project တွင်ပါဝင်မည် errorsဖြစ် သော 404,500စသော errors pages တွေ့ ကို Handler.php file တွင် ကိုယ် ကို Custom ရေးးလို ရ ပါ တယ်။။ကိုယ် က custom မ ရေး ပဲ ထားးမယ် ဆိုရင် laravel default ဖြစ် errors handlers pages တွေ့ ကို ပြ နေမှာ ပါ။
  • Http directory က ကိုယ့် ရဲ့ Project တွင်ပါဝင်မည့် Controller (form နဲ့ ပတ်သတ်သော data(insert,update,delete) စ‌သည့်တို့ကို handle လုပ်သောအခါ), Middleware(Admin and user page ကို access လုပ် လို့ မရ‌အောင် လုပ်သော) ,kernel.php က middleware ကို သုံး တယ် role တွေ့ ခွဲ ရတွင် သုံးသည်။
  • Models folder က တော့ Eloquent ORM(Object- Relational-mapper) ကို သုံးး ထားး ပါ တယ်။၎င်းသည် database tables တွေ့ relationship(one-to-one,one-to-many,etc..) လုပ်ရတွင် ရ တွင် အသုံး ပြု ထားးသည်။Database table တစ်ခု တွင် "Model" တစ်ခု တည်ဆောက်ထား ဖို့ လိုအပ်ပါသည်။

Bootstrap directory

  • Bootstrap directory က တော့ bootstrap အတွက်လိုအပ်သော script ကို app.php မှာ ကြို ရေးး ထားး တာပါ။Bootstrap directory မှာ cache (sub-folder) က တော့ web application အသုံး ပြု သော caching အတွက် ပါဝင်ပါ တယ်။

Config directory

  • Config directory က တော့ အောက်ပါscreen shot ပေး ထား တယ်features တစ်ခုခုသုံး တယ် အခါ configuration လုပ်ပေးး တာ ပါ ။

*Database directory

  • Database directory ‌ကတော့ database နဲ့ဆိုင်သော files တွေ့ ကိုသိမ်းး ထားး ပါသည်။၊၎င်းတွင် sub-folders အ ဖြစ် factories (data တွေ့ကိုသိမ်းထားသော), migration (database နဲ့ဆိုင်သော table တွေ့ ကိုသိမ်း ထား တာ သော), seeds (units testing လုပ် တယ်အချိန် classes ) စသည့်တိုပါဝင်ပါသည်။

Public directory

  • Public directory က တော့ web application တွင် လုပ် အပ် သော external libraries or JS,CSS တွေ့ကို သိမ်းး ဖို့ နေရာ ဖြစ်ပါတယ်။

Resource directory

  • Resources directory တွေ့ က တော့ web application မှာ ပြမယ် page ကို views (sub-folder of resources)ဆိုတယ် နေရာ မှာ သွားး ရေးးတာပါ။

*Routes directory

  • Routes ဆိုတာ directory က တော့ web.php or api.phpအတွက်ဆိုပြီး file ကိုတွေ့ ရလိမ်မယ်။web.php ထည့်တွင် website မှာ ဘယ် resources directory တွင် ရှိ views ထည့်က page ကို ဘယ် path လမ်း ‌ကြောင့် မှာ ပြ မယ် ဆိုတာ ကို path name ရေးး ပေးး ဖို့ လိုပါ တယ်။။api.phpဆိုတာ API ရေ းး တယ် အချိန် အသုံး ပြု တာပါ။

Storage directory

  • Storage directory ကတော့ website တွင် သိမ် း မည့်data (images, videos,etc) တို့ကို သိမ်း ဖို့ အတွက် နေရာ ဖြစ်ပါတယ်။
  • .env ဆိုတယ် file က တော့ environment variables တွေ ကို set လုပ်ဖို့ အတွက် အသုံး ပြု တာပါ။
  • composer.json က တော laravel က composer dependency အတွက်ပါဝင်ပါတယ်။
  • package.json ကတော့ external package တွေ့ ကို installed လုပ် ထား လဲ ဆိုတာ သွား ကြည့် လိုရ တယ်နေရာ ပါ။
ကျန် တယ် files or folders တွေ့ ကို နောက် articles မှာ အ သေး စိတ် ဖော်ပြ သွားး ပါ မည်။

1 comment: