واحدة من الأوامر الجديده التي تم إضافتها في لارافيل 11 هي make:trait.
وكما أوامر artisan يمكن لنا تمرير إسم trait او بدون تمرير الإسم ، حيث يسألنا لارافيل عن إسم Trait.
pإنشاء trait دون تمرير الإسم
% php artisan make:trait ┌ What should the trait be named? ─────────────────────────────┐ │ SlugTrait │ └──────────────────────────────────────────────────────────────┘ INFO Trait [app/SlugTrait.php] created successfully.
هنا نلاحظ أنه تم إنشاء SlugTrait.php مباشره بداخل app
<?php namespace App; trait SlugTrait { // }
إنشاء trait مع تمرير الإسم وكذلك تحديد المسار
php artisan make:trait Traits/SlugTrait INFO Trait [app/Traits/SlugTrait.php] created successfully.
نلاحظ أنه تم إنشاء المجلد Trait وبداخله SlugTrait.php
<?php namespace App\Traits; trait SlugTrait { // }
كما نلاحظ أنه تم تحديد namespace App\Traits
ولمعرفة المزيد من الخيارات التي يمكن إستخدامها عند إنشاء trait يمكن لنا إستخدام الخيار --help
php artisan make:trait --help Description: Create a new trait Usage: make:trait [options] [--] <name> Arguments: name The name of the trait Options: -f, --force Create the trait even if the trait already exists -h, --help Display help for the given command. When no command is given display help for the list command -q, --quiet Do not output any message -V, --version Display this application version --ansi|--no-ansi Force (or disable --no-ansi) ANSI output -n, --no-interaction Do not ask any interactive question --env[=ENV] The environment the command should run under -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
لو لاحظنا في الخيارات أنه يوجد --force وذلك يعني أن يقوم بإنشاء الملف حتى لو كان موجود. حيث يتم عمل override اي يتم إزاله الملف القديم وإنشاء الملف الجديد.