Àiteachan ainmean Laravel: dè a th’ annta agus mar a tha iad ag obair
I namespace
ann an Laravel tha iad air am mìneachadh mar chlas de eileamaidean, far a bheil ainm eadar-dhealaichte aig gach eileamaid seach ainm a’ chlas co-cheangailte.
Ùine leughaidh tuairmseach: 3 minuti
Ainmean-cinnidh a h-uile le ainm Laravel
Ann an Laravel, a namespace
tha e na dhòigh air buidheann de chlasaichean co-cheangailte, eadar-aghaidh, gnìomhan, agus seasmhach a chuairteachadh. AN namespace
tha iad air an dealbhadh gus fuasgladh fhaighinn air dà dhuilgheadas:
- Seachain còmhstri ainm eadar a’ chòd a chruthaicheas tu agus clasaichean / gnìomhan / seasmhach PHP no clasaichean / gnìomhan / seasmhach treas-phàrtaidh;
- Thoir seachad dòigh nas fheàrr air leasanan a chuir air dòigh agus a bhuidheann;
Laravel
a’ cleachdadh àiteachan ainm gus na diofar phàirtean agus sheirbheisean aige a chuir air dòigh gu riaghailteach. Mar eisimpleir, an t-ainm-àite bunaiteach airson luchd-riaghlaidh ann an tagradh Laravel
è App\Http\Controllers
. Tha seo a’ ciallachadh ma chruthaicheas tu clas smachd, gum bu chòir a chuir am broinn an fhànais seo gus a luchdachadh gu fèin-ghluasadach leis an inneal luchdachadh fèin-ghluasadach stèidhichte air Composer
di Laravel
.
Seo eisimpleir de mar a dh’ fhaodadh tu àite-ainm ainmeachadh ann an rianadair Laravel:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MyController extends Controller
{
// Controller methods
}
Anns an eisimpleir seo App\Http\Controllers
tha an t-ainm-àite e MyController
tha clas taobh a-staigh an ainm-àite sin. Nuair a chleachdas tu am prìomh fhacal use
, faodaidh tu clasaichean a thoirt a-steach bho àiteachan ainmean eile gun a bhith agad ri iomradh a thoirt air an àite ainm slàn aca. AN namespace
air an ainmeachadh aig toiseach nam faidhlichean PHP
a’ cleachdadh am prìomh fhacal namespace
air a leantainn le ainm an namespace
. Laravel
a’ leantainn inbhe PSR-4 airson luchdachadh clas fèin-ghluasadach, agus mar sin bidh an structar namespace gu tric a’ nochdadh structar eòlaire an tagraidh agad.
Mar a chleachdas tu Namespaces
Am prìomh fhacal use
a’ leigeil leinn an t-ainm-àite a ghiorrachadh. Chì sinn an eisimpleir seo:
namespace App\Models;
class File {
public function TheMethodThatGetsFiles()
{
}
}
Mar as trice bithear a’ cleachdadh ainmean-àite ann an rianadairean
app/controllers/FileController.php
namespace App\Controllers;
use App\Models\File;
class FileController {
public function someMethod()
{
$file = new File();
}
}
Nuair a chuireas tu clas ann an a namespace
, gus faighinn gu gin de na clasaichean togte, feumaidh tu fios a chuir thuca bho Root Namespace
.
Mar eisimpleir $stdClass = new stdClass();
diventa $stdClass = new \stdClass();
Gus feadhainn eile a thoirt a-steach namespace
:
use App\Models\File;
Leigidh seo leat an clas a chleachdadh File
às aonais còd na sgìre namespace
.
Feumaidh tu an cur namespace
aig a’ mhullach gus eisimeileachd an fhaidhle a thuigsinn gu furasta. Às deidh sin, ruith an composer dump-autoload
. Ma tha thu airson logadh a-steach gu FileController
, bidh feum air mìneachadh route
agus sònraich an t-ainm-àite làn-theisteanas a bheir ath-stiùireadh dha gu modh ainmichte an rianadair.
Route::get('file', 'App\\Controllers\\FileController@TheMethod');
Dearbhadh de namespace
Am prìomh fhacal cleachdadh a’ leigeil le luchd-leasachaidh am faidhle a ghiorrachadh namespace
.
use <namespace-name>;
Il namespace
default air a chleachdadh ann an Laravel
è App
, ach faodaidh neach-cleachdaidh am faidhle atharrachadh namespace
gus a bhith co-ionnan ris an aplacaid lìn Cruthachadh a namespace
air a mhìneachadh leis an neach-cleachdaidh leis an àithne artisan
Tha e mar a leanas:
php artisan app:name SocialNet
Il namespace
, aon uair ‘s gu bheil e air a chruthachadh, faodaidh grunn fheartan a bhith ann a ghabhas cleachdadh ann an controller
agus ann an diofar chlasaichean.
Leughaidhean Co-cheangailte
Ercole Palmeri