Creare un controller
laravel တွင်ဖန်တီးရန် controller
ကျွန်ုပ်တို့အသုံးပြုနေသောလည်ပတ်မှုစနစ်အရ၊ ကျွန်ုပ်တို့အသုံးပြုနေသော command prompt သို့မဟုတ် terminal ကိုဖွင့်ပြီး controller ကိုအသုံးပြု၍ အောက်ပါ command ကိုရိုက်ထည့်ပါ။ Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
အစားထိုးပါ။ <controller-name>
မင်းနာမည်နဲ့ controller
. ဒါက ဖန်တီးပေးပါလိမ့်မယ်။ controller
. ဟိ controller
ဖန်တီးထားသည်ကို ကြည့်ရှုနိုင်ပါသည်။ app/Http/Controllers
.
အခြေခံ coding အချို့ကို သင့်အတွက် လုပ်ဆောင်ပြီးဖြစ်ကာ သင့်စိတ်ကြိုက် coding ကို သင်ထည့်သွင်းနိုင်သည်ကို သင်တွေ့ရပါမည်။ ဟိ controller
ဖန်တီးထားသော web.php ကို အောက်ပါ syntax ဖြင့် ခေါ်နိုင်သည်။
Route::get(‘base URI’,’controller@method’);
1 ဖန်တီးရန် အောက်ပါ command ကို run ပါ။ MyController
php artisan make:controller MyController
2 - အောင်မြင်စွာလုပ်ဆောင်ပြီးနောက်၊ သင်သည်အောက်ပါ output ကိုရလိမ့်မည်။
3 - ကျွန်ုပ်တို့ဖန်တီးထားသော controller ကိုတွေ့လိမ့်မည်။ app/Http/Controller/MyController.php
အချို့သော အခြေခံကုဒ်များဖြင့် ရေးသားထားပြီး လိုအပ်သလို ပြောင်းလဲမှုများ ပြုလုပ်နိုင်ပါသည်။
ငါတို့မြင်ပြီးပြီ။ middleware
ပြီးတော့ ငါတို့က အဲဒါကို တွဲသုံးလို့ရတယ်။ controller
. ဟိ middleware
၎င်းကို controller route သို့မဟုတ် controller constructor အတွင်းတွင်လည်း သတ်မှတ်ပေးနိုင်သည်။ နည်းလမ်းကို သုံးနိုင်ပါတယ်။ middleware
assign လုပ်ဖို့ middleware
al controller
. ဟိ middleware
မှတ်ပုံတင်ထားသော အချို့သောနည်းလမ်းများကို ကန့်သတ်နိုင်သည်။ controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
ဤတွင် ကျွန်ုပ်တို့သည် ပရိုဖိုင်လမ်းကြောင်းရှိ UserController သို့ စစ်မှန်ကြောင်းအထောက်အထားပြသည့် အလယ်တန်းဆော့ဖ်ဝဲကို သတ်မှတ်ပေးနေသည်။
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('auth');
}
}
ဤတွင်ကျွန်ုပ်တို့တာဝန်ပေးအပ်သည်။ middleware
စစ်မှန်ကြောင်းအထောက်အထားပြခြင်း နည်းလမ်းကို အသုံးပြု middleware
constructor တွင် MyController .
မှတ်ရန် $this->middleware()
အဆင်ပြေတယ် တစ်ကိုယ်တော် constructor မှာ တာဝန်ပေးရင် ငါတို့ခေါ်ရင် $this->middleware()
တိကျသော controller method မှ၊ ၎င်းသည် မည်သည့်အမှားအယွင်းကိုမျှ မချပြသော်လည်း Middleware သည် အမှန်တကယ် အလုပ်မလုပ်ပါ။
ဤရွေးချယ်မှုသည် တရားဝင်သော်လည်း၊ ပုဂ္ဂိုလ်ရေးအရ အလယ်တန်းဆော့ဖ်ဝဲ အားလုံးကို ကြိုက်ပါတယ်။ routes
အားလုံးကိုရှာရမဲ့နေရာက ပိုရှင်းနေတာကြောင့်ပါ။ middleware
.
1 - အောက်ပါ ကုဒ်လိုင်းများကို ဖိုင်ထဲသို့ ထည့်ကြပါစို့ routes/web.php ကယ်တင်ပါ။
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 - တစ်ခုဖန်တီးကြရအောင် middleware
ခေါ်ခဲ့သည် FirstMiddleware
အောက်ပါကုဒ်မျဉ်းကို run ခြင်းဖြင့်။
php artisan make:middleware FirstMiddleware
3 : နည်းလမ်းတွင် အောက်ပါကုဒ်ကို ထည့်ပါ။ ကိုင်တွယ် del FirstMiddleware
တွင်ဖန်တီးခဲ့သည်။ app/http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 - တစ်ခုဖန်တီးကြရအောင် middleware
ခေါ်ခဲ့သည် SecondMiddleware အောက်ပါ command ကို run ခြင်းဖြင့်။
php artisan make:middleware SecondMiddleware
5 : handle method တွင် အောက်ပါကုဒ်ကို ထည့်ကြပါစို့ SecondMiddleware
တွင်ဖန်တီးခဲ့သည်။ app/http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : တစ်ခုဖန်တီးလိုက်ရအောင် controller
ခေါ်ခဲ့သည် MyController အောက်ပါလိုင်းကို run ခြင်းဖြင့်။
php artisan make:controller MyController
7 - url ကိုအောင်မြင်စွာလုပ်ဆောင်ပြီးနောက်၊ သင်သည်အောက်ပါ output ကိုရလိမ့်မည် -
8 - အောက်ပါကုဒ်ကို ဖိုင်ထဲသို့ ကူးထည့်ပါ။ app/Http/MyController.php
.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('Second');
}
public function showPath(Request $request) {
$uri = $request->path();
echo '<br>URI: '.$uri;
$url = $request->url();
echo '<br>';
echo 'URL: '.$url;
$method = $request->method();
echo '<br>';
echo 'Method: '.$method;
}
}
9 - ယခု သင်မရှိသေးပါက အောက်ပါ command ကို run ခြင်းဖြင့် php internal web server ကိုစလိုက်ရအောင်။
php artisan serve
10 – အောက်ပါ URL ကို ဝင်ကြည့်ပါ။
http://localhost:8000/mycontroller/path
11 - အောက်ပါပုံတွင်ပြထားသည့်အတိုင်း output ပေါ်လာလိမ့်မည်။
အလယ်တန်းဆော့ဖ်ဝဲနှစ်ခုလုံးနီးပါး ပါဝင်သော်လည်း တစ်ခုသာရှိသည်။
Controller
di restful resource
မကြာခဏဆိုသလို အက်ပလီကေးရှင်းတစ်ခုကို ဖန်တီးတဲ့အခါ တစ်ခုခုလုပ်ရမယ်။ CRUD (Create, Read, Update, Delete)
. Laravel သည် ဤအလုပ်ကို လွယ်ကူစေသည်။ ဖန်တီးလိုက်ရုံပါပဲ။ controller
နှင့် Laravel သည် လုပ်ဆောင်ချက်များအတွက် နည်းလမ်းအားလုံးကို အလိုအလျောက် ပံ့ပိုးပေးမည်ဖြစ်သည်။ CRUD
. ဖိုင်ရှိ နည်းလမ်းအားလုံးသို့ လမ်းကြောင်းတစ်ခုတည်းကိုလည်း မှတ်တမ်းတင်နိုင်သည်။ route.php
.
1 : controller ဟုခေါ်သော ဖန်တီးပါ။ MyController
အောက်ပါ command ကို run ခြင်းဖြင့်။
php artisan make:controller MyController
2 : အောက်ပါကုဒ်ကိုထည့်ပါ။ app/Http/Controllers/MyController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function index() {
echo 'index';
}
public function create() {
echo 'create';
}
public function store(Request $request) {
echo 'store';
}
public function show($id) {
echo 'show';
}
public function edit($id) {
echo 'edit';
}
public function update(Request $request, $id) {
echo 'update';
}
public function destroy($id) {
echo 'destroy';
}
}
3 - ဖိုင်ထဲမှာ အောက်ပါကုဒ်မျဉ်းကို ထည့်လိုက်ရအောင် routes/web.php
.
Route::resource('my','MyController');
4 - ယခုကျွန်ုပ်တို့သည် ထိန်းချုပ်သူအား အရင်းအမြစ်ဖြင့် မှတ်ပုံတင်ခြင်းဖြင့် MyController ၏ နည်းလမ်းအားလုံးကို မှတ်ပုံတင်ထားပါသည်။ အောက်တွင် အရင်းအမြစ်ထိန်းချုပ်သူမှ စီမံခန့်ခွဲသည့် လုပ်ဆောင်ချက်များဇယားဖြစ်သည်။
ကြိယာ | path | လှုပ်ရှားမှု | လမ်းကြောင်းအမည် |
---|---|---|---|
GET | / ငါ့ | အညွှန်းကိန်း | my. အညွှန်း |
GET | /my/create | ဖန်တီး | my.create |
POST | / ငါ့ | စတိုးဆိုင် | my.store |
GET | /my/{my} | ပြသ | my.ရှိုး |
GET | /my/{my}/တည်းဖြတ် | ပြင်ဆင်ရန် | my.edit |
PUT/Patch | /my/{my} | update ကို | my.update |
ဖျက်ရန် | /my/{my} | ဖျက်ဆီး | ငါ့။ ဖျက်ဆီး |
5 - အောက်ဖော်ပြပါဇယားတွင်ပြသထားသည့် URL များကို run ကြည့်ပါ။
URL ကို | ဖေါ်ပြချက် | ထွက်ပေါက် |
---|---|---|
http://localhost:8000/my | MyController.php ၏ အညွှန်းနည်းလမ်းကို လုပ်ဆောင်ပါ။ | အညွှန်းကိန်း |
http://localhost:8000/my/create | MyController.php ၏ ဖန်တီးမှုနည်းလမ်းကို လုပ်ဆောင်ပါ။ | creare |
http://localhost:8000/my/1 | MyController.php ၏ show method ကို လုပ်ဆောင်ပါ။ | ပြသ |
http://localhost:8000/my/1/edit | MyController.php ၏ တည်းဖြတ်နည်းကို လုပ်ဆောင်ပါ။ | ပြင်ဆင်ရန် |
Ercole Palmeri
Microsoft Excel သည် ဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းအတွက် ရည်ညွှန်းကိရိယာဖြစ်ပြီး၊ ဒေတာအတွဲများကို စုစည်းရန်အတွက် အင်္ဂါရပ်များစွာပါရှိသောကြောင့်...
Walliance၊ SIM နှင့် Real Estate Crowdfunding နယ်ပယ်ရှိ ဥရောပရှိ ခေါင်းဆောင်များအကြား ပလပ်ဖောင်းသည် 2017 ခုနှစ်မှ စတင်ပြီး ပြီးစီးကြောင်းကြေငြာသည်...
Filament သည် အပြည့်အ၀ အစိတ်အပိုင်းများစွာကို ပံ့ပိုးပေးသည့် "အရှိန်မြှင့်" Laravel ဖွံ့ဖြိုးတိုးတက်မှုဘောင်တစ်ခုဖြစ်သည်။ ၎င်းသည် လုပ်ငန်းစဉ်ကို ရိုးရှင်းစေရန် ဒီဇိုင်းထုတ်ထားခြင်းဖြစ်သည်...
«ကျွန်ုပ်၏ ဆင့်ကဲဖြစ်စဉ်ကို ပြီးမြောက်ရန် ပြန်သွားရမည်၊ ကျွန်ုပ်သည် ကွန်ပျူတာအတွင်း၌ မိမိကိုယ်ကို ပရောဂျက်လုပ်ကာ သန့်စင်သော စွမ်းအင်ဖြစ်လာမည်ဖြစ်သည်။ အခြေချပြီးသည်နှင့်…
Google DeepMind သည် ၎င်း၏ ဉာဏ်ရည်တုမော်ဒယ်၏ ပိုမိုကောင်းမွန်သော ဗားရှင်းကို မိတ်ဆက်ပေးနေသည်။ ပိုမိုကောင်းမွန်သော မော်ဒယ်အသစ်သည် ထောက်ပံ့ပေးရုံသာမက…
၎င်း၏ကြော့ရှင်းသော syntax နှင့် အစွမ်းထက်သောအင်္ဂါရပ်များကြောင့် ကျော်ကြားသော Laravel သည် မော်ဂျူလာဗိသုကာအတွက် ခိုင်မာသောအခြေခံအုတ်မြစ်ကိုလည်း ပေးပါသည်။ ဟိုမှာ…
Cisco နှင့် Splunk တို့သည် ဖောက်သည်များအား ၎င်းတို့၏ အနာဂတ် လုံခြုံရေး လည်ပတ်ရေးဌာန (SOC) သို့ အရှိန်မြှင့်ရန် ကူညီပေးနေပါသည်...
Ransomware သည် ပြီးခဲ့သည့် နှစ်နှစ်တာကာလအတွင်း သတင်းများကို လွှမ်းမိုးထားသည်။ တိုက်ခိုက်မှုတွေကို လူအများစုက ကောင်းကောင်းသိကြတယ်...