با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش laravel را دنبال می کنند. در این جلسه به مبحث چگونگی ایجاد نما در لاراول پرداخته ایم. یک رابط ثابت (static interface) فراهم می کند. نماها (Facades) یک رابط ثابت برای کلاس هایی که در کانتینر سرویس کاربردی موجود هستند فراهم می کند. نما در لاراول به عنوان طبقه بندی های پایدار در کلاس های خدماتی به عنوان طبقه بندی های پایه خدمت می کنند و بهره مند از یک اصطلاح متناهی و منصفانه در حالی که تست پذیری و انعطاف پذیری بیشتری نسبت به روش های سنتی استاتیک دارند. در ادامه آموزش با موضوع چگونگی ایجاد نما در لاراول با ما همراه باشید.
در ادامه ی مباحث توضیحات چگونگی ایجاد نما در لاراول را به صورت مرحله به مرحله و به همراه نمونه کد ارائه کرده ایم.
در زیر مراحل برای ایجاد نما در فریم ورک Laravel را مشاهده کنید.
مرحله ۱ : ایجاد فایل پی اچ پی کلاس.
مرحله ۲ : این کلاس را به سرویس دهنده متصل کنید.
مرحله ۳ : ثبت نام کنید که ServiceProvider به Config\app.php به عنوان ارائه دهندگان باشد.
مرحله ۴ : ایجاد کلاس که این کلاس به آن گسترش می یابد.
lluminate\Support\Facades\Facade
مرحله ۵ : ثبت نام ۴ به Config\app.php به عنوان نام مستعار.
لارول نما های زیادی دارد که جدول زیر رفرنسهای کلاس نمای داخلی را نشان می دهد.
Facade | Class | Service Container Binding |
---|---|---|
App | Illuminate\Foundation\Application | app |
Artisan | Illuminate\Contracts\Console\Kernel | artisan |
Auth | Illuminate\Auth\AuthManager | auth |
Auth (Instance) | Illuminate\Auth\Guard | |
Blade | Illuminate\View\Compilers\BladeCompiler | blade.compiler |
Bus | Illuminate\Contracts\Bus\Dispatcher | |
Cache | Illuminate\Cache\Repository | cache |
Config | Illuminate\Config\Repository | config |
Cookie | Illuminate\Cookie\CookieJar | cookie |
Crypt | Illuminate\Encryption\Encrypter | encrypter |
DB | Illuminate\Database\DatabaseManager | db |
DB (Instance) | Illuminate\Database\Connection | |
Event | Illuminate\Events\Dispatcher | events |
File | Illuminate\Filesystem\Filesystem | files |
Gate | Illuminate\Contracts\Auth\Access\Gate | |
Hash | Illuminate\Contracts\Hashing\Hasher | hash |
Input | Illuminate\Http\Request | request |
Lang | Illuminate\Translation\Translator | translator |
Log | Illuminate\Log\Writer | log |
Illuminate\Mail\Mailer | mailer | |
Password | Illuminate\Auth\Passwords\PasswordBroker | auth.password |
Queue | Illuminate\Queue\QueueManager | queue |
Queue (Instance) | Illuminate\Queue\QueueInterface | |
Queue (Base Class) | Illuminate\Queue\Queue | |
Redirect | Illuminate\Routing\Redirector | redirect |
Redis | Illuminate\Redis\Database | redis |
Request | Illuminate\Http\Request | request |
Response | Illuminate\Contracts\Routing\ResponseFactory | |
Route | Illuminate\Routing\Router | router |
Schema | Illuminate\Database\Schema\Blueprint | |
Session | Illuminate\Session\SessionManager | session |
Session (Instance) | Illuminate\Session\Store | |
Storage | Illuminate\Contracts\Filesystem\Factory | filesystem |
URL | Illuminate\Routing\UrlGenerator | url |
Validator | Illuminate\Validation\Factory | validator |
Validator (Instance) | Illuminate\Validation\Validator | |
View | Illuminate\View\Factory | view |
View (Instance) | Illuminate\View\View |
مرحله ۱ : با اجرای دستور زیر، یک سرویس دهنده را به نام TestFacadesServiceProvider ایجاد کنید.
1 | php artisan make:provider TestFacadesServiceProvider |
مرحله ۲ : پس از اجرای موفق، خروجی زیر را دریافت خواهید کرد.
مرحله ۳ : یک کلاس به نام TestFacades.php در App / Test ایجاد کنید.
App/Test/TestFacades.php
1 2 3 4 5 6 7 8 | <?php namespace App\Test; class TestFacades{ public function testingFacades() { echo "Testing the Facades in Laravel."; } } ?> |
مرحله ۴ : یک کلاس نمایشی به نام “TestFacades.php” در “App / Test / Facades” ایجاد کنید.
App/Test/Facades/TestFacades.php
1 2 3 4 5 6 7 8 9 | <?php namespace app\Test\Facades; use Illuminate\Support\Facades\Facade; class TestFacades extends Facade { protected static function getFacadeAccessor() { return 'test'; } } |
مرحله ۵ : ایجاد یک کلاس نمایشی با نام TestFacadesServiceProviders.php در App/Test/Facades.
App/Providers/TestFacadesServiceProviders.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php namespace App\Providers; use App; use Illuminate\Support\ServiceProvider; class TestFacadesServiceProvider extends ServiceProvider { public function boot() { // } public function register() { App::bind('test',function() { return new \App\Test\TestFacades; }); } } |
مرحله ۶ : یک ارائه دهنده خدمات را در یک فایل config / app.php اضافه کنید همانطور که در شکل زیر نشان داده شده است.
config/app.php
مرحله ۷ : یک نام مستعار در یک فایل config / app.php اضافه کنید، همانطور که در شکل زیر نشان داده شده است.
config/app.php
مرحله ۸ : خطوط زیر را در برنامه / Http / routes.php اضافه کنید.
app/Http/routes.php
1 2 3 | Route::get('/facadeex', function() { return TestFacades::testingFacades(); }); |
مرحله ۹ : برای تست نما، از URL زیر دیدن کنید.
1 | http://localhost:8000/facadeex |
مرحله ۱۰ : پس از بازدید از URL، خروجی زیر را دریافت خواهید کرد.
نما در لاراول (Facades) زیادی درون لاراول وجود دارد که شما بدون دانستن ساختار آن میتوانید از آنها استفاده نمایید. Facades، یک روش دسترسی به سرویس های موجود در اپلیکیشن می باشد و از طریق آن ها میتوانید متد های موجود در یک سرویس را بصورت استاتیک صدا بزنید.