مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آشنایی با NameSpace در Laravel - لاراول


فضای نام (NameSpace) در زبان های مختلف برنامه نویسی استفاده می شود و برای ایجاد یک گروه جداگانه از متغیرها ، توابع و کلاس ها کاربرد دارد . همانطور که می دانید یک پروژه همگام با پیشرفت زمان توسعه می یابد . ممکن است در هنگام توسعه پروژه کلاس ها، متدها و یا ثابت های داخلی هم نامی ایجاد شود ، که باعث ایجاد مشکلاتی گردد. چون فضای نامی که در آن کد نویسی می کنیم یک فضای global و سراسری هست،  و منجر به تداخل یا conflict توابع با یکدیگر می شود.

به زبان ساده تر همان طور که دو فایل با نام یکسان را نمی توان در یک دایرکتوری ذخیره کرد و باید هر کدام را بطور جدا در دایرکتوری های جدا ذخیره نمود، فضای نام هم همان مفهوم ساختار دایرکتوری ها در سیستم عامل را دارد. و نمی توان دو تابع یا ثابت با نام یکسان را در یک فضای نام یکسان داشت . در اینجاست که فضاهای نام نقش مهمی در اجتناب از چنین تداخل هایی ایفا می کنند.

تعریف فضای نام

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

شما میتوانید توسط کد زیر یک namespace تعریف نمایید :

use <namespace-name>;

کلمه کلیدی use به توسعه دهندگان این امکان را می دهد تا به جای استفاده از کلمه namespace از use  استفاده کنند که کوتاهتر نیز می باشد.

فضای نام پیش فرض استفاده شده در لاراول ، app می باشد. البته کاربر می تواند namespace پیشفرض لاراول را تغییر دهد.شما می توانید بوسیله دستورات artisan فضای نام را تغییر دهید :

php artisan app:name Tutorialspoint

بعد از اجرای دستور بالا ، پیامی مبنی بر موفقت آمیز بودن دستور فوق برای شما نمایش داده می شود.

فضای نامی که ایجاد شده است می تواند در controllerها و classهای مختلف استفاده شود.

Namespace تغییر یافته را بطور مثال در مسیر های app/console/kernel.php و app/Http/controller.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');
   }
}

 

<?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;
}

 

از این به بعد کلاس های کنترلر دارای یک namespace به نام namespace Tutorialspoint\Http\Controllers خواهند بود. که باید در ابتدای کلاس هر controller ذکر شود.

درواقع Namespace جایگاه و موقعیت یک کلاس را بیان می کند. در صورتی که کلاس های controller تان را داخل دایرکتوری دیگری قرار دهید و آن دایرکتوری، داخل دایرکتوری controllers باشد باید نام آن دایرکتوری را به فضای نام همه آنها اضافه کنید.

قابل ذکر هست که درصورتی که بخواهید کلاس دیگری در کلاس های controller استفاده کنید باید از دستور use برای ایمپورت کردن آن استفاده کنید تا در هنگام استفاده در کلاس ، نیاز به نوشتن namespace و بعد نام کلاس نباشد.

فصلِ: 28 , تعداد قسمت ها: 253 , سطح: صفر تا صد

این فصل در یک نگاه:

آشنایی با امکانات جدید لاراول ۷…

برخی از سرفصل های این پکیج آموزشی :   لاراول چیست و چرا ما لاراول استفاده میکنیم کامپوزر کارش چیه و نصب اون نصب لاراول آموزش نصب لاراول از طریق اینستالر آموزش نصب لاراول با استفاده ا…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید