hosseinsheikh/smart-view-model

smart view model

Downloads

679

Stars

2

Version

v3.0.0

Smart View Model

  • To use this pattern, you can do the following
    • Make controller and view model:

        php artisan vm:make-controller {controller name}
        php artisan vm:make-controller {controller name} --namespace={defin special namespace for viewmodel}
        php artisan vm:make-viewmodel {view model name} --controller={controller name}
        php artisan vm:make-viewmodel {view model name} --controller={controller name} --namespace={defin special namespace for viewmodel}
      
    • Controller method structure:

         // view model puts in ViewModel/Hossein namespace
         // view model name is IndexViewModel
          public function index()
          {
              return \SmartViewModel::addItems([])
                  ->throughViewModel('hossein.index') 
                  ->thenReturn();
          }
      
        // view model puts in Malekkhatoon/Ahmad/ViewModel/Hossein namespace
        // view model name is IndexViewModel
        public function index()
        {
            return \SmartViewModel::addItems([])
                ->throughViewModel('hossein.index')
                ->setNameSpace('malekhatoon.ahmad')
                ->thenReturn();
        }
      
        // You can use this instead of the top
        public function index()
        {
            return \SmartViewModel::addItems([])
                ->through(Malekkhatoon\Ahmad\ViewModel\Hossein\IndexViewModel::class)
                ->thenReturn();
        }
      
hosseinsheikh-web

Author

hosseinsheikh-web