Skip to main content

Laravel 4 တြင္ Workbench သံုးျပဳျခင္း။

workbench အသံုးျပဳျခင္းအားျဖင့္ အက်ိဳးကေတာ့အမ်ားၾကီးပါပဲ။ project တခုကုိ လူဝုိင္းေရးတဲ့အခါ မင္းက ဘယ္အပုိင္းယူ ငါကဘယ္အပုိင္းယူဆိုပီးေတာ့ လုပ္ပါတယ္။ ဒါဆုိရင္ workbench တခုေဆာက္ေပးျပီးေတာ့ ေရးခိုင္းထားလုိ့ရပါတယ္ ။ အေပၚက main ကုိ ထိစရာမလိုေတာ့ပါဘူး။
အျခားေကာင္းတာေတြလဲအမ်ားၾကီးရွိပါေသးတယ္။

၁။ Workbench သြင္းျခင္း။
ပထမဆံုးသံုးျပဳႏိုင္ဖုိ့အတြက္  app/config/workbench.php ထဲမွာ name နဲ့  email ထည့္ေပးရမယ္။

ျပီးရင္ေတာ့ Terminal ထဲမွာ ေအာက္က ကြန္မန္းနဲ့ bench တခုျပဳလုပ္ပါတယ္။

php artisan workbench vendor/package --resources

vendor ကေတာ့ ကုိယ့္ကုမၸဏီ သို့မဟုတ္ ကုိယ့္နာမည္ထည့္လဲျဖစ္ပါတယ္၊package ကေတာ့ ကိုယ္ေရးမယ့္ package နာမည္ပါ။ ဥပမာ Dasbroad အတြက္ဆိုရင္  dashboardေပ့ါ။

ဒါဆိုရင္ root folder ထဲက workbench ထဲမွာ ကုိယ္ထည့္လိုက္တဲ့  vendor နာမည္နဲ့ ထဲမွာ ထည့္ထားတဲ့ package နာမည္တဲ့ ဖိုင္ေတြတခုေဆာက္လုပ္ျပီးျဖစ္ေနပါလိမ့္မယ္။( ဒီအဆင့္က အင္တာနက္လုိပါတယ္ )

ဒါျပီးရင္ေတာ့ verdor ထဲက package ထဲမွာ composer install ျပဳလုပ္ေပးရပါမယ္။မလုပ္ရင္ File not found ျပေနပါလိမ့္မယ္။

သူ ့ဖုိင္ structure ေတြကေတာ့ ပထမေတာ့ နဲနဲရူပ္ေပးမယ့္ ေနာက္ေတာ့လဲဆင္ေျပသြား ပါလိမ့္မယ္။

src ကေတာ့ တကယ့္ကုတ္ေတြသိမ္းရမယ့္ေနရာပါ။

သူ ့မွာ composer.json ဆိုပီး ဖိုင္သန့္သန့္တခုလဲထပ္ပါတယ္။အဲဒီေတာ့ ဒီ package အတြက္ packagist ကေန ကုိယ္သံုးမယ့္ဟာကုိ တန္းလာထည့္ထားျပီး သံုးလုိ့ရပါတယ္။

၂။ Provider ထည့္ျခင္း။
vendor/package/src/Vendor/Package/ ထဲမွာ PackageServiceProvider.php ဖုိင္တခုရွိပါတယ္။အဲဒီဖုိင္က အသက္ပါပဲ။




ဒါျပီးရင္ေတာ့ ကုိယ္ေဆာက္ထားတဲ့ package ကုိ main ကေန သံုးလုိ့ရေအာင္ app/config/app.php ထဲမွာ သြားေၾကာ္ျငာေပးရပါတယ္။

" Name space\Class Name"


၃။ Routes ဖုိင္ ထည့္ျခင္း။
ေနာက္ျပီးေတာ့ routes ဖိုင္ခ်ိတ္ရပါဦးမယ္ ။
Src ေအာက္က PackageServiceProvider.php ထဲမွာ  public function boot() ဆိုပီးပါပါတယ္။
အဲဒီ function ထဲမွာ ေအာက္က အတုိင္းထပ္ထည့္ရပါမယ္။

include __DIR__ . '/../../routes.php';

ျပီးရင္ေတာ့ src ထဲမွာ routes.php ဆိုပီးဖုိင္တခုထပ္ထည့္လုိက္ရင္ အဲဒီထဲဲမွာ route ကုိ တန္းေရးလုိ့ရပါျပီ။ အားသာခ်က္ကေတာ့ အေပၚက routes ကုိ ထိစရာမလိုေတာ့ဘူး ။

၄။ Filters ဖုိင္ထည့္ျခင္း။
filters အတြက္ဆုိရင္လဲ route လိုပဲ ေအာက္ကအတုိင္း သြားထည့္ေပးရင္ဆင္ေျပပါျပီ။

include __DIR__ . '/../../filters.php';



၅။ Controller ခ်ိတ္ျခင္း။
controllers ဖိုဒါအလုပ္လုပ္ဖို့အတြက္ကေတာ့ workbench ထဲက composer.json ထဲက autoload ထဲမွာ လမ္းေၾကာင္းသြားထည့္ေပးရပါတယ္။

    "autoload": {
        "classmap": [
            "src/migrations",
            "src/controllers"
        ],
        "psr-0": {
            "Yethusoe\\Dashboard\\": "src/"
        }
    },


ျပီးရင္ေတာ့ composer dump-auto လုပ္ေပးလုိက္ရင္ရပါျပီ။
controllers ဖုိဒါထဲမွာ  BaseController တခုတည္ေဆာက္ေပးရပါမယ္။

ပထမဆံုး workbench ထဲက src ထဲမွာ controllers ဖုိဒါထဲမွာ BaseController.php ဆုိပီးတခုေဆာက္လုိက္ပါ။ ျပီးရင္ေအာက္က အတုိင္းကူးထည့္လုိက္ပါ။

main controllers ထဲက BaseController.php နဲ့အတူတူပါပဲ။

<?php

class BaseController extends Controller {

/**
* Setup the layout used by the controller.
*
* @return void
*/
protected function setupLayout()
{
if ( ! is_null($this->layout))
{
$this->layout = View::make($this->layout);
}
}

}

ျပီးရင္ေတာ့ class BaseController extends Controller အေပၚမွာ Controller ကုိ use လုပ္ေပးရပါမယ္။
အဲဒါက main ထဲက app=> config => app.php ထဲက Alias မွာရွိပါတယ္

use Illuminate\Routing\Controller; ဆိုပီးထည့္ေပးလိုက္ရင္  controllers ဖိုဒါကုိလဲ အေပၚကနည္းအတုိင္း လိုအပ္သလုိသံုးျပဳလုိ့ရပါျပီ။


၆ ။ ဥပမာစမ္းျခင္း။
ေအာက္ကအတုိင္း workbench အလုပ္မလုပ္ စမ္းလုိ့ရပါတယ္ ။

routes.php ထဲမွာ ေအာက္ကအတုိင္းထည့္ပါ။

<?php
Route::get('/test', 'TestController@test');
 ?>

controllers ထဲမွာ TestController.php ဆုိပီးဖုိင္းတခုေဆာက္ပီးေအာက္က အတုိင္းထည့္ပါ။

<?php
class TestController extends BaseController
{
public function test(){
return "Return From Controller";
}
}
?>
ျပီးရင္ေတာ့ public ေနာက္မွာ test ထည့္ျပီးေခၚၾကည့္ရင္ရပါျပီ။
Controller မေတြ့ဘူးေျပာေနရင္ workbench ထဲမွာ composer dump-autoload ေနာက္တခါထပ္လုပ္ရင္ဆင္ေျပသြားပါလိမ့္မယ္။


အမွားပါရင္ comment ေပးပီးျပင္ေပးပါဗ်ာ။ေက်းဇူးတင္ပါတယ္။

Comments

Popular posts from this blog

Lenovo VeriFace Software

ဒီေဆာ့၀ဲကေတာ့ ကြန္ပ်ဴတာ login ၀င္တဲ့အခါမွာ password ရိုက္စရာမလိုပဲ မ်က္နွာေလးျပလိုက္ရံုနဲ့ ေအာ္တို login ၀င္ေပးပါတယ္ .လန္းပါတယ္.webcam တခုေတာ့လိုပါလိမ့္မယ္ laptop ေတြ အတြက္ဆိုရင္ေတာ့ရွယ္ပါပဲ . တျခား brand ေတြမွာလဲအလုပ္လုပ္ပါတယ္ . ေလာေလာဆယ္ကၽြန္ေတာ္က Acer ၾကီးနဲ့ကလိေနတာ :D size : 30.39 MB Click here to download @ mediafire.com Click here to download @ ifile.it Photo credit @ www.tkshare.com Thank u,ko zaw ye` tun :)

Mysql database ကုိ ubuntu terminal ကေန Export & Import ဘယ္လိုလုပ္မလဲ။

(Ctrl + Alt + T ) ႏုိပ္ပီးေတာ့ Terminal ဖြင့္ပါ။ Export ပီးေတာ့ ေအာက္က ကြန္မန္းအတုိင္း ေရးထည့္ျပီးေတာ့ Enter ဆိုရင္ home ေအာက္မွာ database နာမည္နဲ့ဖုိင္တစ္ခု ထုတ္ပီးသားျဖစ္ေနပါလိမ့္မယ္။ mysql -u username -p{password} {database name} < filename.sql   Import import လုပ္တဲ့ဟာကလဲ အေပၚက ကြန္မန္းကုိပဲ < ေနရာမွာ > ေလးေျပာင္းလုိက္ရင္ရပါျပီ။ mysql -u username -p{password} {database name} > filename.sql   source : http://stackoverflow.com/questions/4546778/how-can-i-import-a-database-with-mysql-from-terminal