namespace ها در فریمورک laravel
دسته بندی : لاراول سطح مقاله : زمان مطالعه : دقیقه آخرین بروز رسانی: 26 مهر 1397Namespaces ها در زبانهای برنامه نویسی مختلف برای ایجاد یک گروه جداگانه از متغیر، توابع و کلاس ها استفاده می شوند.
یک برنامه ممکن است شامل توابع مختلف باشد و این ممکن است منجر به اختلاف با توابع موجود شود. Namespaces نقش مهمی در اجتناب از چنین درگیری ها ایفا می کنند. در این فصل به شما یک اطلاعات دقیق از Namespaces ها و استفاده آنها در Laravel خواهیم داد.
Namespaces ها را می توان به عنوان یک کلاس از عناصر تعریف کرد که در آن هر عنصر دارای یک نام منحصر به فرد آن کلاس مرتبط است. این ممکن است با عناصر در کلاس های دیگر به اشتراک گذاشته شود.
شما می توانید یک فضای نام را به عنوان نشان داده شده در نحو که در زیر نشان داده شده اعلام کنید :
use <namespace-name>;
لطفا توجه داشته باشید که کلمه کلیدی استفاده اجازه می دهد تا توسعه دهندگان فضای نام کوتاهو یا فضای نام پیش فرض مورد استفاده در Laravel را در برنامه استفاده کنند، با این حال کاربر می تواند فضای نام را تغییر دهد تا با یک برنامه وب مطابقت داشته باشد.
شما می توانید با استفاده از دستور artisan یک فضای نامی تعریف شده توسط کاربر ایجاد کنید که در زیر نشان داده شده است :
hp artisan app:name Tutorialspoint
در دادن دستور فوق، شما می توانید خروجی را که در تصویر زیر نشان داده شده را مشاهده کنید :
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;
این مقاله چقدر براتون مفید بود؟