මම මගේම PHP Framework එකක් හදන්න යන්නෙ

ihatemylife

Well-known member
  • Apr 22, 2019
    1,126
    765
    113
    උබලගේ අදහසුත් දාපල්ල. දැනට යූස් කරන laravel, symfony, ci වල තියෙන අඩුපාඩු මේකෙ දාපන්. මට මේ හැම මගුලක්ම යූස් කරාම තේරුන දෙයක් තමයි මූන් මේව වැඩිය දුරදිග හිතල හදපුව නෙමේ. අනිත් එක අනවශ්‍ය විදියට wrappers දාල over complicated කරල තියෙන්නෙ. i think we need to go back to basics.

    මට මගේම එකක් ගහන්න හිතුනේ මම හොයන true modular කන්සෙප්ට් එක මේ මගුල් mcv framework වල නැති එක. මට හිතාගන්න බෑ මේ ලබ්බවල් ඇයි මිනිස්සු දේවත්වයෙන් අදහන්නේ කියල. මේව පට්ට චානේ බන්. මේව හොඳ තනි ඇප් එකක් ගහනවනම්. ඒත් කෝඩ් reusability එක අන්තිමයි මේවගේ.

    මට ඕන parent->child support එක තියෙන modular ආකිටෙක්චර් එකක්. මේ ලබ්බවල්වල මොඩුයුල් එකේ එක් එක් කොටස් controllers, models, views ඇතුලෙ. ඉතින් අපිට plugin එකක් සරලව copy and paste කරන්න බෑ.

    මට එපා වෙලා තියෙන්නෙ හුත්ත.

    මට ඔය උඩ තියෙන concept එක හදන්න පුලුවන්. මට එක තැනක පොඩි අවුලක් තියෙනව. ඒ තමයි app එකේ static assets ගැන. මොකද මේව යන්න ඕන public directory එක ඇතුලට. නමුත් ගොඩක් මොඩුයුල් වලට ඒවට අදාල assets ඒකත් එක්ක ship කරන්න වෙනව. නමුත් ඒව public directory එකෙන් පිට තියෙන නිසා පිට ඉදන් ඇක්සස් කරන්න බෑ. එහෙමත් නැත්නම් ඒව public එක ඇතුලට දාන්න ඕන. හැබැයි ඒ විදියට එච්චර එලිගන්ට් නෑ. public තියෙන විදියට module ආකිටෙක්චර් එක හදන්නත් බෑ සෙකුරිටි Issues නිසා. මේකට විසඳුමක් හදාගන්න ඕන. උබලට මේ ගැටලුව විසඳන්න අයිඩියා එකක් තියෙනවනම් මට කියන්න.
     
    Last edited:

    ihatemylife

    Well-known member
  • Apr 22, 2019
    1,126
    765
    113
    Ela ela.. Welldone kollo.. Yalu ta hadanna ona kiyala hitunama aekath loku deyyak..
    hadamu hadamu.. Api th side aekaka edun support aekuk dennum.

    Yalu hadala release karanna. mata sure aekenk aekuk hadala release kaloth lankawe 200 k wath tawa aewa bageta ho kohen hari copy karala hari release karanawa.
    Community project ekak patan ganin. Project proposal ekak daapan

    මට ඔය උඩ තියෙන concept එක හදන්න පුලුවන්. මට එක තැනක පොඩි අවුලක් තියෙනව. ඒ තමයි app එකේ static assets ගැන. මොකද මේව යන්න ඕන public directory එක ඇතුලට. නමුත් ගොඩක් මොඩුයුල් වලට ඒවට අදාල assets ඒකත් එක්ක ship කරන්න වෙනව. නමුත් ඒව public directory එකෙන් පිට තියෙන නිසා පිට ඉදන් ඇක්සස් කරන්න බෑ. එහෙමත් නැත්නම් ඒව public එක ඇතුලට දාන්න ඕන. හැබැයි ඒ විදියට එච්චර එලිගන්ට් නෑ. public තියෙන විදියට module ආකිටෙක්චර් එක හදන්නත් බෑ සෙකුරිටි Issues නිසා. මේකට විසඳුමක් හදාගන්න ඕන. උබලට මේ ගැටලුව විසඳන්න අයිඩියා එකක් තියෙනවනම් මට කියන්න.

    කිසි අවුලක් නෑ බන් කොපි කරල ඕන මගුලක් කරත්. ඒකමට කිසි අවුලක් නෑ.
     

    හෙළයෙක්

    Well-known member
  • Apr 26, 2014
    49,294
    100,105
    113
    https://frappe.io/ මේකෙ ආරිකිටෙක්චර් එක ස්ටඩී කරපන්. උබ කියන කන්සෙප්ට් එකට සමානයි මේකත්. ලැන්වේජ් එක නන් පයිතන් ඒත් කන්සෙප්ට් එක එකයි.
     

    ihatemylife

    Well-known member
  • Apr 22, 2019
    1,126
    765
    113
    https://frappe.io/ මේකෙ ආරිකිටෙක්චර් එක ස්ටඩී කරපන්. උබ කියන කන්සෙප්ට් එකට සමානයි මේකත්. ලැන්වේජ් එක නන් පයිතන් ඒත් කන්සෙප්ට් එක එකයි.

    මේකත් symfony වගේනේ මචං. මම බැලුව modules විදියට හදන්න පුලුවන් තමයි. ඒත් මට ඕන තනිකරම ලියන හැම කෝඩ් එකම modules විදියට හදන්න force කරන්න.
     

    හෙළයෙක්

    Well-known member
  • Apr 26, 2014
    49,294
    100,105
    113
    මේකත් symfony වගේනේ මචං. මම බැලුව modules විදියට හදන්න පුලුවන් තමයි. ඒත් මට ඕන තනිකරම ලියන හැම කෝඩ් එකම modules විදියට හදන්න force කරන්න.

    ඔව් උබ කියන ෆුල්ම අයිඩියා එක නෑ ඒත් ඕකෙ එකම තැන ඇසට් ඔක්කොම තියෙනව, අයිඩියා එකක් ගනින්.

    වැඩේ ඕපන් සෝස් කරනව නන් ආර්කිටෙක්චර් එක පැත්තෙන් සප් එකක් දෙන්න පුළුවන්.
     

    ihatemylife

    Well-known member
  • Apr 22, 2019
    1,126
    765
    113
    ඔව් උබ කියන ෆුල්ම අයිඩියා එක නෑ ඒත් ඕකෙ එකම තැන ඇසට් ඔක්කොම තියෙනව, අයිඩියා එකක් ගනින්.

    වැඩේ ඕපන් සෝස් කරනව නන් ආර්කිටෙක්චර් එක පැත්තෙන් සප් එකක් දෙන්න පුළුවන්.

    එළ බන්. routing, templating, config වගේ බේසික් ටික මුලින් අටවගෙන Github දානව. කොහොමත් මේව මුල ඉඳන් ලියන්න අදහසක් නෑ. අනික් framwork වල තියෙන විදියට ok මට ලොකුම අවුල තියෙන්නේ ආකිටෙක්චර් එකේ. symfony routing තමයි use කරන්න හිතන් ඉන්නේ බලමු.
     

    rooshan2008

    Well-known member
  • Apr 16, 2008
    5,896
    1,271
    113
    CALL 0x754EA
    Umbata modularized ne ona.

    Lumen walin podi podi modules tikak hadala ekata link karala ganin.

    Netham, laravel eke nwidart module manager eka daganin.