mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 06:33:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			271 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			271 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #resource controller
 | |
| snippet l_rsc "Laravel resource controller" b
 | |
| /*!
 | |
|  * \class       $1
 | |
|  *
 | |
|  * \author      ${3:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| class ${1:`!v expand('%:t:r')`} extends ${2:BaseController} {
 | |
|     function __construct() {
 | |
|     }
 | |
|     
 | |
|     public function index() {
 | |
|     }
 | |
|     
 | |
|     public function create() {
 | |
|     }
 | |
|     
 | |
|     public function store() {
 | |
|     }
 | |
|     
 | |
|     public function show($id) {
 | |
|     }
 | |
|     
 | |
|     public function edit($id) {
 | |
|     }
 | |
|     
 | |
|     public function update($id) {
 | |
|     }
 | |
|     
 | |
|     public function destroy($id) {
 | |
|     }
 | |
| }
 | |
| endsnippet
 | |
| 
 | |
| #service service provider
 | |
| snippet l_ssp "Laravel service provider for service" b
 | |
| <?php
 | |
| 
 | |
| /*!
 | |
|  * \namespace   $1
 | |
|  * \class       $2
 | |
|  *
 | |
|  * \author      ${3:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| namespace ${1:Services};
 | |
| 
 | |
| use Illuminate\Support\ServiceProvider;
 | |
| 
 | |
| class ${2:`!v expand('%:t:r')`} extends ServiceProvider {
 | |
|     
 | |
|     public function register() {
 | |
|         $this->app->bind('$4Service', function ($app) {
 | |
|             return new $5(
 | |
|                 $app->make('Repositories\\$6Interface')
 | |
|             );
 | |
|         });
 | |
|     }
 | |
| }
 | |
| endsnippet
 | |
| 
 | |
| #repository service provider
 | |
| snippet l_rsp "Laravel service provider for repository" b
 | |
| <?php
 | |
| 
 | |
| /*!
 | |
|  * \namespace   $2
 | |
|  * \class       $3
 | |
|  *
 | |
|  * \author      ${4:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| namespace ${2:Repositories\\${1:}};
 | |
| 
 | |
| use Entities\\$1;
 | |
| use $2\\$1Repository;
 | |
| use Illuminate\Support\ServiceProvider;
 | |
| 
 | |
| class ${3:`!v expand('%:t:r')`} extends ServiceProvider {
 | |
|     /*!
 | |
|      * \var     defer
 | |
|      * \brief   Defer service
 | |
|      */
 | |
|     protected $defer = ${5:true};
 | |
| 
 | |
|     public function register() {
 | |
|         $this->app->bind('$2\\$1Interface', function($app) {
 | |
|             return new $1Repository(new $1());
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     /*!
 | |
|      * \brief   If $defer == true need this fn
 | |
|      */ 
 | |
|     public function provides() {
 | |
|         return ['$2\\$1Interface'];
 | |
|     }
 | |
| }
 | |
| endsnippet
 | |
| 
 | |
| #model
 | |
| snippet l_md "Laravel simple model" b
 | |
| <?php
 | |
| 
 | |
| /*!
 | |
|  * \namespace   $1
 | |
|  * \class       $2
 | |
|  *
 | |
|  * \author      ${3:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| namespace ${1:Entities};
 | |
| 
 | |
| class ${2:`!v expand('%:t:r')`} extends \Eloquent {
 | |
|     protected $table   = '${4:`!p snip.rv = t[2].lower()`}';
 | |
| 
 | |
|     public $timestamps = ${5:false};
 | |
| 
 | |
|     protected $hidden  = [$6];
 | |
| 
 | |
|     protected $guarded = [${7:'id'}];
 | |
| }
 | |
| endsnippet
 | |
| 
 | |
| #abstract repository
 | |
| snippet l_ar "Laravel abstract Repository" b
 | |
| <?php
 | |
| 
 | |
| /*!
 | |
|  * \namespace   $1
 | |
|  * \class       $2
 | |
|  * \implements  $3
 | |
|  *
 | |
|  * \author      ${4:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| namespace ${1:Repositories};
 | |
| 
 | |
| use Illuminate\Database\Eloquent\Model;
 | |
| 
 | |
| abstract class ${2:`!v expand('%:t:r')`} implements ${3:BaseRepositoryInterface} {
 | |
|     protected $model;
 | |
| 
 | |
|     /*!
 | |
|      * \fn      __construct
 | |
|      *
 | |
|      * \brief   Take the model
 | |
|      */
 | |
| 
 | |
|     public function __construct(Model $model) {
 | |
|         $this->model = $model;
 | |
|     }
 | |
| 
 | |
|     /*!
 | |
|      * \fn      all
 | |
|      *
 | |
|      * \return  Illuminate\Database\Eloquent\Collection
 | |
|      */
 | |
|     public function all($columns = ['*']) {
 | |
|         return $this->model->all()->toArray();
 | |
|     }
 | |
| 
 | |
|     /*!
 | |
|      * \fn      create
 | |
|      *
 | |
|      * \return  Illuminate\Database\Eloquent\Model
 | |
|      */
 | |
|     public function create(array $attributes) {
 | |
|         return $this->model->create($attributes);
 | |
|     }
 | |
| 
 | |
|     /*!
 | |
|      * \fn      destroy
 | |
|      *
 | |
|      * \return  int
 | |
|      */
 | |
|     public function destroy($ids) {
 | |
|         return $this->model->destroy($ids);
 | |
|     }
 | |
| 
 | |
|     /*!
 | |
|      * \fn      find
 | |
|      *
 | |
|      * \return  mixed
 | |
|      */
 | |
|     public function find($id, $columns = ['*']) {
 | |
|         return $this->model->find($id, $columns);
 | |
|     }
 | |
| }
 | |
| endsnippet
 | |
| 
 | |
| #repository
 | |
| snippet l_r "Laravel Repository" b
 | |
| <?php
 | |
| 
 | |
| /*!
 | |
|  * \namespace   $1
 | |
|  * \class       $3
 | |
|  * \implements  $4
 | |
|  *
 | |
|  * \author      ${5:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| namespace ${1:Repositories\\$2};
 | |
| 
 | |
| class ${3:`!v expand('%:t:r')`} extends \\$6 implements ${4:$3RepositoryInterface} {
 | |
|     $7
 | |
| }
 | |
| endsnippet
 | |
| 
 | |
| #service
 | |
| snippet l_s "Laravel Service" b
 | |
| <?php
 | |
| 
 | |
| /*!
 | |
|  * \namespace   $1
 | |
|  * \class       $2
 | |
|  *
 | |
|  * \author      ${6:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| namespace Services\\$1;
 | |
| 
 | |
| use ${3:Repositories\\${4:Interface}};
 | |
| 
 | |
| class ${2:`!v expand('%:t:r')`} {
 | |
|     protected $${5:repo};
 | |
|     
 | |
|     /*!
 | |
|      * \fn      __construct
 | |
|      */
 | |
|     public function __construct($4 $repo) {
 | |
|         $this->$5 = $repo;
 | |
|     }
 | |
| }
 | |
| endsnippet
 | |
| 
 | |
| #facade
 | |
| snippet l_f "Laravel Facade" b
 | |
| <?php
 | |
| 
 | |
| /*!
 | |
|  * \namespace   $1
 | |
|  * \class       $2
 | |
|  *
 | |
|  * \author      ${5:`!v g:snips_author`}
 | |
|  * \date        `!v strftime('%d-%m-%y')`
 | |
|  */
 | |
| 
 | |
| namespace ${1:Services};
 | |
| 
 | |
| use \Illuminate\Support\Facades\Facade;
 | |
| 
 | |
| class ${2:`!v expand('%:t:r')`} extends Facade {
 | |
|     /*!
 | |
|      * \fn          getFacadeAccessor
 | |
|      *
 | |
|      * \return      string
 | |
|      */
 | |
|     protected static function getFacadeAccessor() { return '${4:$3Service}'; }
 | |
| }
 | |
| endsnippet
 | 
