Plugins Sublime Text útiles para CakePHP

Si hablamos de paquetes y plugins para el framework CakePHP podemos encontrar un sin fin de ellos y para todas las necesidades, revisando algunos repositorios de GitHub me encontré con paquetes bastante útiles que nos ayudan en el proceso de desarrollo de nuestras aplicaciones web, en este artículo me voy a enfocar en plugins para el editor de texto Sublime Text v2. Encontré un par de plugins que nos facilitará la vida al momento de codificar con este editor de texto, les hablo de «Native Sublime Text 2 CakePHP Package» de su autor Jose Diaz Gonzales y «Sublime Text 2/3 Snippets for CakePHP» tal como lo describe su autor Michael Tuttle, menciono a los autores de cada uno de estos paquetes porque desde mi punto de vista vale la pena revisar su trabajo y valorarlo. Existe otro plugin para Sublime Text v2 llamado «CakePHP TextMate Bundle» que fue de los primeros para CakePHP pero revisando sus commits descubrí que su ultima actualización lo hizo el año 2012, de tal forma es que preferí enfocarme en los 2 plugins anteriormente mencionados.

Quiero aclarar que no voy a enfocarme en la instalación de los plugins en Sublime Text v2 ya que en Internet podemos encontrar bastante información y tutoriales para la instalación de cualquier plugin para Sublime Text v2 sin distinción alguna, el propósito del artículo es mostrar las características que compone cada uno de estos plugins para CakePHP.


El primer paquete de Jose Gonzales nos brinda un conjunto de snippets para Sublime Text v2, estos snippets son básicos pero bastante útiles, lamentablemente en su repositorio de GitHub no encontraremos la documentación necesaria para poder manejarlo, pero con tan solo revisar los archivos que nos instala en el directorio Package de nuestra instalación de sublime text v2, seremos capaces de poder ejecutar los snippets que nos trae este grandioso plugin.

A continuación te muestro una imagen de las estadísticas del plugin desde la página oficial de package control de sublime text:

Native CakePHP

Este plugin nos ofrece snippets tanto para controladores, modelos, vistas, componentes y casos de pruebas, como este plugin carece del uso y especificaciones de sus snippets (o por lo menos yo no lo encontré en su repositorio oficial) he desarrollado unas tablas de especificaciones por cada uno de estos snippets para así poder sacarle el mayor provecho, a continuación te describo cada uno de ellos:

Snippets para Componentes

Atajo Contenido
write $this->Cookie->write();
read $this->Cookie->read();
check $this->Cookie->check();
delete $this->Cookie->delete();
destroy $this->Cookie->destroy();
type $this->Cookie->type();
newcomponent Crear nuevo componente

Snippets para Controladores

Atajo Contenido
newcontroller Crear nuevo controlador
newcontrolleradmin Crear nuveo controlador admin

Snippets para Modelos

Atajo Contenido
addbelongsto Relación belongsTo
relationdetail Detalle de una relación
createmodel Crear nuevo modelo
hasmany Relación hasMany
hasone Relación hasOne

Snippets para Vistas (Helper Form)

Atajo Contenido
button $this->Form->button();
checkbox $this->Form->checkbox();
create $this->Form->create();
dateTime $this->Form->dateTime();
day $this->Form->day();
end $this->Form->end();
error $this->Form->error();
file $this->Form->file();
hidden $this->Form->hidden();
hour $this->Form->hour();
input $this->Form->input();
inputDefaults $this->Form->inputDefaults();
inputs $this->Form->inputs();
isFieldError $this->Form->isFieldError();
label $this->Form->label();
meridian $this->Form->meridian();
minute $this->Form->minute();
month $this->Form->month();
postButton $this->Form->postButton();
postLink $this->Form->postLink();
radio $this->Form->radio();
secure $this->Form->secure();
select $this->Form->select();
submit $this->Form->submit();
tagIsInvalid $this->Form->tagIsInvalid();
textarea $this->Form->textarea();
unlockField $this->Form->unlockField();
year $this->Form->year();

Snippets para Vistas (Helper Html)

Atajo Contenido
addcrumb $this->Html->addCrumb();
doctype $this->Html->docType();
charset $this->Html->charset();
css $this->Html->css();
div $this->Html->div();
getCrumbList $this->Html->getCrumbList();
getCrumbs $this->Html->getCrumbs();
image $this->Html->image();
link $this->Html->link();
loadConfig $this->Html->loadConfig();
media $this->Html->media();
meta $this->Html->meta();
nestedList $this->Html->nestedList();
para $this->Html->para();
script $this->Html->script();
scriptBlock $this->Html->scriptBlock();
scriptEnd $this->Html->scriptEnd();
scriptStart $this->Html->scriptStart();
style $this->Html->style();
tableCells $this->Html->tableCells();
tableHeaders $this->Html->tableHeaders();
tag $this->Html->tag();
useTag $this->Html->useTag();

Snippets para Vistas (Helper Js)

Atajo Contenido
alert $this->Js->alert();
buffer $this->Js->buffer();
confirm $this->Js->confirm();
confirmReturn $this->Js->confirmReturn();
domReady $this->Js->domReady();
drag $this->Js->drag();
drop $this->Js->drop();
each $this->Js->each();
effect $this->Js->effect();
escape $this->Js->escape();
event $this->Js->event();
get $this->Js->get();
getBuffer $this->Js->getBuffer();
link $this->Js->link();
object $this->Js->object();
prompt $this->Js->prompt();
redirect $this->Js->redirect();
request $this->Js->request();
serializeForm $this->Js->serializeForm();
set $this->Js->set();
slider $this->Js->slider();
sortable $this->Js->sortable();
submit $this->Js->submit();
writeBuffer $this->Js->writeBuffer();
value $this->Js->value();

Snippets para Vistas (Helper Paginator)

Atajo Contenido
sort $this->Paginator->sort();
sortDir $this->Paginator->sortDir();
sortKey $this->Paginator->sortKey();
numbers $this->Paginator->numbers();
prev $this->Paginator->prev();
next $this->Paginator->next();
first $this->Paginator->first();
last $this->Paginator->last();
current $this->Paginator->current();
hasNext $this->Paginator->hasNext();
hasPrev $this->Paginator->hasPrev();
hasPage $this->Paginator->hasPage();
counter $this->Paginator->counter();
options $this->Paginator->options();
link $this->Paginator->link();
url $this->Paginator->url();
defaultModel $this->Paginator->defaultModel();
params $this->Paginator->params();

Snippets para Vistas (Helper Session)

Atajo Contenido
read $this->Session->read();
check $this->Session->check();
error $this->Session->error();
valid $this->Session->valid();
flash $this->Session->flash();

Snippets para Vistas (Helper Text)

Atajo Contenido
autoLinkEmails $this->Text->autoLinkEmails();
autoLinkUrls $this->Text->autoLinkUrls();
autoLink $this->Text->autoLink();
highlight $this->Text->highlight();
stripLinks $this->Text->stripLinks();
truncate $this->Text->truncate();
tail $this->Text->tail();
excerpt $this->Text->excerpt();
toList $this->Text->toList();

Snippets para Vistas (Helper Time)

Atajo Contenido
convert $this->Time->convert();
convertSpecifiers $this->Time->convertSpecifiers();
dayAsSql $this->Time->dayAsSql();
daysAsSql $this->Time->daysAsSql();
format $this->Time->format();
fromString $this->Time->fromString();
gmt $this->Time->gmt();
i18nFormat $this->Time->i18nFormat();
nice $this->Time->nice();
niceShort $this->Time->niceShort();
serverOffset $this->Time->serverOffset();
timeAgoInWords $this->Time->timeAgoInWords();
toAtom $this->Time->toAtom();
toQuarter $this->Time->toQuarter();
toRSS $this->Time->toRSS();
toUnix $this->Time->toUnix();
toServer $this->Time->toServer();
timezone $this->Time->timezone();
listTimezones $this->Time->listTimezones();
isToday $this->Time->isToday();
isThisWeek $this->Time->isThisWeek();
isThisMonth $this->Time->isThisMonth();
isThisYear $this->Time->isThisYear();
wasYesterday $this->Time->wasYesterday();
isTomorrow $this->Time->isTomorrow();
wasWithinLast $this->Time->wasWithinLast();

Snippets para TestCase

Atajo Contenido
assertEqual $this->assertEqual();
assetFalse $this->assetFalse();
assertPattern $this->assertPattern();
assetTrue $this->assetTrue();

Como puedes observar en las tablas existe una amplia variedad de snippets que nos trae este plugin, por lo que vale la pena utilizarlo al momento de desarrollar nuestras aplicaciones web con el framework CakePHP.

Página en GitHub: https://github.com/josegonzalez/sublimetext-cakephp


El segundo plugin de Michael Tuttle nos trae otra amplia variedad de snippets tanto para componentes, controladores, modelos, helpers y muchos más, lo bueno de este plugin es que se encuentra bien documentado por lo cual, desde su repositorio de GitHub puedes encontrar los pasos para su instalación como también los atajos y contenidos de cada uno de sus snippets. Para el caso de este segundo plugin no vi conveniente desarrollar la especificación de sus snippets ya que como bien dije este se encuentra bastante y bien documentado. Algo a tomar en cuenta al momento de instalar el paquete desde sublime text v2 es que previamente debemos agregar su repositorio desde la opción Package Control: Add Repository una vez agregado el repositorio ya puedes proceder a instalar el paquete.

Página en GitHub:https://github.com/openam/SublimeCakePHP


Ahora dime tú, que te parecieron este par de plugins o conoces algun otro? puedes compartirlo dejando un comentario y si el artículo te pareció útil e interesante compártelo en las redes sociales. Todo tipo de herramientas que nos facilite el desarrollo de nuestras aplicaciones web siempre serán necesarios en nuestro día a día, así es que te animo a probarlos y me cuentes como te fue 8-)

Saludos!!!

firma emm

8 respuestas a «Plugins Sublime Text útiles para CakePHP»

  1. ingeniero muy interesante todo el material de este framework, la verdad hasta ahora incurcionando en cakephp pero gracias a sus tutoriales cada dia lo entiendo mas

    1. Hola Cristian, gracias por tu comentario y seguir mi trabajo, espero le saques mucho provecho al contenido y al Curso de CakePHP. Saludos!!!

    1. Hola Andres, yo lo he probado en la versión 2, no sabría decirte si la instalación es igual para la versión 3, pero pruebalo ya que hasta donde se lo instala como un paquete más. Avisame como te fue. Saludos!!!

  2. Estimado edson no puedo hacerlo funcionar ninguno :( ni en el sublime 3 ni en el 2 no se que pasa, algun tip o algo especial que hay que hacer para que funcionen

    1. Hola Gustavo yo lo tengo funcionando en Sublime Text 2, cual de los dos no te funciona? recuerda que para el segundo necesitas agregar primero su repositorio Package Control: Add Repository . Prueba también desinstalar ambos e instalarlo nuevamente paso a paso, no se me ocurre mas ya que yo lo probé en dos computadoras y me funciona sin problema alguno.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *