diff options
Diffstat (limited to 'vim/bundle/vim-snippets/UltiSnips/php-laravel.snippets')
-rw-r--r-- | vim/bundle/vim-snippets/UltiSnips/php-laravel.snippets | 270 |
1 files changed, 270 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/UltiSnips/php-laravel.snippets b/vim/bundle/vim-snippets/UltiSnips/php-laravel.snippets new file mode 100644 index 0000000..7367a14 --- /dev/null +++ b/vim/bundle/vim-snippets/UltiSnips/php-laravel.snippets @@ -0,0 +1,270 @@ +#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('${4}Service', function ($app) { + return new ${5}( + $app->make('Repositories\\${6}Interface') + ); + }); + } +} +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 = array(${6}); + + protected $guarded = array(${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 = array('*')) { + 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 = array('*')) { + 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:${3}Service}'; } +} +endsnippet |