لاراول

namespace ها در فریمورک laravel

دسته بندی : لاراول سطح مقاله : زمان مطالعه : دقیقه آخرین بروز رسانی: 26 مهر 1397

Namespaces ها در زبانهای برنامه نویسی مختلف برای ایجاد یک گروه جداگانه از متغیر، توابع و کلاس ها استفاده می شوند.

یک برنامه ممکن است شامل توابع مختلف باشد و این ممکن است منجر به اختلاف با توابع موجود شود. Namespaces نقش مهمی در اجتناب از چنین درگیری ها ایفا می کنند. در این فصل به شما یک اطلاعات دقیق از Namespaces ها و استفاده آنها در Laravel خواهیم داد.

Namespaces ها را می توان به عنوان یک کلاس از عناصر تعریف کرد که در آن هر عنصر دارای یک نام منحصر به فرد آن کلاس مرتبط است. این ممکن است با عناصر در کلاس های دیگر به اشتراک گذاشته شود.

شما می توانید یک فضای نام را به عنوان نشان داده شده در نحو که در زیر نشان داده شده اعلام کنید :

use <namespace-name>;

لطفا توجه داشته باشید که کلمه کلیدی استفاده اجازه می دهد تا توسعه دهندگان فضای نام کوتاهو یا فضای نام پیش فرض مورد استفاده در Laravel  را در برنامه استفاده کنند، با این حال کاربر می تواند فضای نام را تغییر دهد تا با یک برنامه وب مطابقت داشته باشد.

شما می توانید با استفاده از دستور artisan یک فضای نامی تعریف شده توسط کاربر ایجاد کنید که در زیر نشان داده شده است :

hp artisan app:name Tutorialspoint

در دادن دستور فوق، شما می توانید خروجی را که در تصویر زیر نشان داده شده را مشاهده کنید :

select_git

Namespaces که ایجاد شده است می تواند شامل ویژگی های مختلفی باشد که می تواند در کنترل کننده ها و کلاس های مختلف استفاده شود. کد ایجاد شده بر اساس Namespaces در کنترل کننده و هسته با فایل های برنامه  console / kernel.php و app / Http / controller.php در زیر نشان داده شده است :

Kernel.php

<?php

namespace Tutorialspoint\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel{
   
   /**
      * The Artisan commands provided by your application.
      *
      * @var array
   */
   
   protected $commands = [
    //
   ];
   
   /**
      * Define the application's command schedule.
      *
      * @param \Illuminate\Console\Scheduling\Schedule $schedule
      * @return void
   */
   
   protected function schedule(Schedule $schedule){
      // $schedule->command('inspire')
      // ->hourly();
   }
   
   /**
      * Register the Closure based commands for the application.
      *
      * @return void
   */
   
   protected function commands(){
      require base_path('routes/console.php');
   }
}

توجه داشته باشید که توابع یعنی برنامه و دستورات کمک می کند تا در برنامه ریزی روش ها برای کارهای Cron و سایر ویژگی ها آماده باشید.

Controller.php

<?php
namespace Tutorialspoint\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController{
   use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

کنترل کننده ها به عنوان میانجی بین مدل ها و دیدگاه ها عمل می کنند. برای Namespaces  که ما ایجاد کردیم به نام Tutorialspoint ، آنها در فایل اصلی controller.php کنترل می شوند . Namespaces  با Http \ Controllers به درستی تنظیم شده است.

Namespaces  یکبار ایجاد شده از فضاهای نامهای دیگر مانند AuthorizesRequests، DispatchesJobs و ValidatesRequests استفاده می کند که در کد بالا ذکر شده است.

از کلمه کلیدی استفاده کنید

Namespaces  در جایگاه کلاس فعلی قرار دارند. همانطور که در مثال ما ذکر شده، Tutorialspoint را به عنوان فضای نامی ما اعلام کرده ایم و در پوشه برنامه قرار دارد. فضای نامی اعلام خواهد شد App \ Tutorialpoint . هر زمان که میخواهید از آن کلاس استفاده کنید، باید از کلمه کلیدی استفاده کنید.

نحو استفاده از کلمه کلیدی استفاده شده در اینجا نشان داده شده است:

use Tutorialspoint\Http\Controllers\Controller;

 

این مقاله چقدر براتون مفید بود؟

میانگین رتبه : 5/5 - تعداد رای : 3