Creare un controller
ላራቬል ውስጥለመፍጠር ሀ controller
በምንጠቀመው ኦፕሬቲንግ ሲስተም መሰረት የትእዛዝ መጠየቂያውን ወይም ተርሚናልን ከፍተን ተቆጣጣሪውን በመጠቀም የሚከተለውን ትዕዛዝ መተየብ አለብን። Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
ተካ <controller-name>
በስምህ controller
. ይህ ይፈጥራል ሀ controller
. የ controller
የተፈጠረ ውስጥ ሊታይ ይችላል app/Http/Controllers
.
አንዳንድ መሰረታዊ ኮድ ማድረግ አስቀድሞ እንደተሰራ ያያሉ እና የራስዎን ብጁ ኮድ ማከል ይችላሉ። የ controller
የተፈጠረ ከሚከተለው አገባብ ጋር ከ web.php ሊጠራ ይችላል።
Route::get(‘base URI’,’controller@method’);
1 ለመፍጠር የሚከተለውን ትዕዛዝ ያሂዱ MyController
php artisan make:controller MyController
2 - ከተሳካ አፈፃፀም በኋላ የሚከተለውን ውጤት ያገኛሉ.
3 - የተፈጠረውን መቆጣጠሪያ እናገኛለን app/Http/Controller/MyController.php
አንዳንድ መሠረታዊ ኮድ አስቀድሞ የተፃፈ እና እንደ አስፈላጊነቱ ለውጦችን ማድረግ እንችላለን።
የሚለውን አይተናል middleware
እና ከ ጋር ልንጠቀምበት እንችላለን controller
. የ middleware
እንዲሁም ወደ መቆጣጠሪያው መንገድ ወይም በመቆጣጠሪያው ገንቢ ውስጥ ሊመደብ ይችላል. ዘዴውን መጠቀም ይችላሉ middleware
ለመመደብ middleware
al controller
. የ middleware
የተመዘገቡት ለአንዳንድ ዘዴዎች ሊገደቡ ይችላሉ controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
እዚህ የማረጋገጫ ሚድልዌርን በመገለጫ ዱካ ላይ ለተጠቃሚ መቆጣጠሪያ እየመደብን ነው።
<?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
በገንቢው ውስጥ MyController .
አስታውስ አትርሳ $this->middleware()
ይሰራል ብቸኛ በገንቢው ውስጥ ከመደብክ. ከጠራን $this->middleware()
ከተወሰነ የመቆጣጠሪያ ዘዴ, ምንም ስህተቶችን አይጥልም, ነገር ግን መካከለኛው ሶፍትዌር በትክክል አይሰራም.
ይህ አማራጭ ትክክለኛ ነው, ግን በግል ሁሉንም መካከለኛ እቃዎች በ ውስጥ ማስቀመጥ እመርጣለሁ routes
, ምክንያቱም ሁሉንም የት መፈለግ እንዳለበት የበለጠ ግልጽ ነው middleware
.
1 - የሚከተሉትን የኮድ መስመሮች ወደ ፋይሉ እንጨምር መንገዶች/web.php እና እንቆጥባለን.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 - አንድ እንፍጠር middleware
ተጠርቷል FirstMiddleware
የሚከተለውን የኮድ መስመር በማሄድ።
php artisan make:middleware FirstMiddleware
3 : ዘዴ ውስጥ የሚከተለውን ኮድ ያክሉ መያዣ የ FirstMiddleware
ውስጥ ብቻ ተፈጠረ መተግበሪያ/ኤችቲቲፒ/ሚድልዌር .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 - አንድ እንፍጠር middleware
ተጠርቷል ሁለተኛ ሚድልዌር የሚከተለውን ትዕዛዝ በማሄድ.
php artisan make:middleware SecondMiddleware
5 የሚከተለውን ኮድ በእጀታው ዘዴ ውስጥ እንጨምር SecondMiddleware
ውስጥ ብቻ ተፈጠረ መተግበሪያ/ኤችቲቲፒ/ሚድልዌር .
<?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 የሚከተለውን መስመር በማሄድ.
php artisan make:controller MyController
7 - ዩአርኤል በተሳካ ሁኔታ ከሰራ በኋላ የሚከተለውን ውጤት ያገኛሉ -
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 - አሁን ካላደረጉት የሚከተለውን ትዕዛዝ በማስኬድ የ php ውስጣዊ ድር አገልጋይን እንጀምር።
php artisan serve
10 - የሚከተለውን URL ይጎብኙ.
http://localhost:8000/mycontroller/path
11 - ውጤቱ በሚከተለው ምስል ላይ እንደሚታየው ይታያል.
በእውነቱ ሁለቱም መካከለኛ ዕቃዎች ይሳተፋሉ ፣ ግን አንድ ብቻ
Controller
di restful resource
ብዙውን ጊዜ መተግበሪያ ሲፈጥሩ አንድ ነገር ማድረግ ያስፈልግዎታል CRUD (Create, Read, Update, Delete)
. ላራቬል ይህን ስራ ቀላል ያደርገዋል. ብቻ ይፍጠሩ ሀ controller
እና ላራቬል ሁሉንም የአሠራር ዘዴዎች በራስ-ሰር ያቀርባል CRUD
. እንዲሁም በፋይሉ ውስጥ ወደ ሁሉም ዘዴዎች አንድ ነጠላ መንገድ መመዝገብ እንችላለን route.php
.
1 : የሚባል መቆጣጠሪያ ይፍጠሩ MyController
የሚከተለውን ትዕዛዝ በማሄድ.
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 ዘዴዎችን እየመዘገብን ነው። ከታች በሃብት ተቆጣጣሪ የሚተዳደር የድርጊት ሠንጠረዥ ነው።
ግስ | ዱካ | እርምጃ | የመንገድ ስም |
---|---|---|---|
አግኝ | / የኔ | መረጃ ጠቋሚ | የእኔ. ኢንዴክስ |
አግኝ | /የእኔ/ ፍጠር | ፈጠረ | የእኔ.መፍጠር |
POST | / የኔ | መደብር | የእኔ.መደብር |
አግኝ | /የእኔ/{የእኔ} | አሳይ | የእኔ. ትዕይንት |
አግኝ | /my/{my}/አርትዕ | አርትዕ | የእኔ. አርትዕ |
PUT/PATCH | /የእኔ/{የእኔ} | ዝማኔ | የእኔ.ዝማኔ |
ሰርዝ | /የእኔ/{የእኔ} | አጥፋ | የእኔ. ማጥፋት |
5 - ከታች ባለው ሠንጠረዥ ውስጥ የሚታዩትን ዩአርኤሎች ለማሄድ ይሞክሩ።
ዩ አር ኤል | መግለጫ | ውጣ |
---|---|---|
http://localhost:8000/my | የMyController.php ማውጫ ዘዴን ያስፈጽሙ | መረጃ ጠቋሚ |
http://localhost:8000/my/create | የMyController.php የመፍጠር ዘዴን ያስፈጽሙ | ፈጠር |
http://localhost:8000/my/1 | የMyController.php የማሳያ ዘዴን ያስፈጽሙ | አሳይ |
http://localhost:8000/my/1/edit | የMyController.php የአርትዖት ዘዴን ያስፈጽሙ | አርትዕ |
Ercole Palmeri
ማይክሮሶፍት ኤክሴል የመረጃ ስብስቦችን ለማደራጀት ብዙ ባህሪያትን ስለሚሰጥ የመረጃ ትንተና ዋቢ መሳሪያ ነው…
ከ 2017 ጀምሮ በሪል እስቴት Crowdfunding መስክ በአውሮፓ ውስጥ ካሉ መሪዎች መካከል ዋሊያንስ ፣ ሲም እና መድረክ ማጠናቀቁን ያስታውቃል…
Filament "የተጣደፈ" የላራቬል ልማት ማዕቀፍ ነው, በርካታ ሙሉ-ቁልል ክፍሎችን ያቀርባል. ሂደቱን ለማቃለል የተነደፈ ነው…
"የእኔን ዝግመተ ለውጥ ለማጠናቀቅ መመለስ አለብኝ፡ እራሴን በኮምፒዩተር ውስጥ አቀርባለሁ እና ንጹህ ሃይል እሆናለሁ። አንዴ ከተቀመጠ…
ጎግል DeepMind የተሻሻለ የአርቴፊሻል ኢንተለጀንስ ሞዴሉን እያስተዋወቀ ነው። አዲሱ የተሻሻለው ሞዴል ብቻ ሳይሆን…
በሚያማምሩ አገባብ እና ኃይለኛ ባህሪያት ዝነኛ የሆነው ላራቬል ለሞዱላር አርክቴክቸርም ጠንካራ መሰረት ይሰጣል። እዚያ…
Cisco እና Splunk ደንበኞቻቸው ወደ የደህንነት ኦፕሬሽን ሴንተር (SOC) በ…
Ransomware ላለፉት ሁለት ዓመታት የዜናውን የበላይነት ተቆጣጥሮታል። ብዙ ሰዎች ጥቃት እንደሚደርስባቸው ጠንቅቀው ያውቃሉ…