onlinecode

Create Traits in Laravel6?

Create Traits in Laravel6?

In this post we will give you information about Create Traits in Laravel6?. Hear we will give you detail about Create Traits in Laravel6?And how to use it also give you demo for it if it is necessary.

In this article, I will share with you what is trais in laravel and how it used in our laravel application? Here in this article, i will give you one simple example of creating your own traits in your laravel application and how it will be used in your laravel application. but the first thing we will know why traits are defined in laravel?


What is Traits?


One of the major problems in PHP you can inherit only a single class with any other class. This means a class can only inherit from one other class. For example, it might be desirable to inherit methods from a couple of different classes in order to prevent duplication. In PHP 5.4 a new feature of the language was added known as Traits and is used extensively in the Laravel Framework.


Step – 1 : Create Traits


In our first step, we need to create appTraitsStoreImageTrait.php a file as a traits in laravel. and just put the following into it.


namespace AppTraits;

use IlluminateHttpRequest;

trait StoreImageTrait {
    public function verifyAndStoreImage( Request $request, $fieldname = 'image', $directory = 'unknown' ) {
        if( $request->hasFile( $fieldname ) ) {
            if (!$request->file($fieldname)->isValid()) {
                flash('Invalid Image!')->error()->important();
                return redirect()->back()->withInput();
            }
            return $request->file($fieldname)->store('image/' . $directory, 'public');
        }
        return null;
    }
}


Step – 2 : How to use Traits in Controller


After, creating our traits then now we will see how to use our created traits in our laravel application controller.


namespace AppHttpControllersAdmin;

use AppModelsAdminPost;
use IlluminateHttpRequest;
use AppTraitsStoreImageTrait;

class PostController extends Controller
{
    use StoreImageTrait;

    public function store(CreatePostRequest $request)
    {
        $formInput = $request->all();
        $formInput['image'] = $this->verifyAndStoreImage($request, 'image', 'post');
        $post = Post::create($formInput);
        flash('Post saved successfully.')->success();
        return redirect()->back();
    }
}
	


i hope this article will help you.

Hope this and post will helped you for implement Create Traits in Laravel6?. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and Keep reading our blogs

For More Info See :: laravel And github

Exit mobile version