diff --git a/UltiSnips/php_laravel.snippets b/UltiSnips/php_laravel.snippets index 8b33962..3ad26c6 100644 --- a/UltiSnips/php_laravel.snippets +++ b/UltiSnips/php_laravel.snippets @@ -7,7 +7,7 @@ snippet l_rsc "Laravel resource controller" b * \date `!v strftime('%d-%m-%y')` */ -class ${1:`!v expand('%:t:r')`} extends ${2: BaseController} { +class ${1:`!v expand('%:t:r')`} extends ${2:BaseController} { function __construct() { } @@ -17,7 +17,7 @@ class ${1:`!v expand('%:t:r')`} extends ${2: BaseController} { public function create() { } - public function store($id) { + public function store() { } public function show($id) { diff --git a/snippets/laravel.snippets b/snippets/laravel.snippets new file mode 100644 index 0000000..c71a6e5 --- /dev/null +++ b/snippets/laravel.snippets @@ -0,0 +1,248 @@ +#resource controller +snippet l_rsc +/*! + * \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) { + } +} + +#service service provider +snippet l_ssp +/*! + * \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') + ); + }); + } +} + +#repository service provider +snippet l_rsp +/*! + * \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']; + } +} + +#model +snippet l_md +/*! + * \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'}); +} + +#abstract repository +snippet l_ar +/*! + * \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); + } +} + +#repository +snippet l_r +/*! + * \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} +} + +#service +snippet l_s +/*! + * \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; + } +} + +#facade +snippet l_f +/*! + * \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}'; } +}