Un compañero, Juan Ases, ha creado este script para hacer una sencilla aplicación de lista de extensiones y teléfonos en 10 segundos, sin teclear ni una línea de código.
Ojo, no sirve para nada si no sabéis que es Symfony, pero si lo sabéis puede servir como guión para empezar con una aplicación crud.
#!/bin/bash
mkdir extensiones.midominio.com
cd extensiones.midominio.com
mkdir -p lib/vendor
cd lib/vendor
svn co http://svn.symfony-project.com/branches/1.4 symfony
cd ../../
php lib/vendor/symfony/data/bin/symfony -V
php lib/vendor/symfony/data/bin/symfony --color generate:project extensiones
php symfony configure:author Juan Ases
php symfony configure:database "mysql:host=galeras.midominio.com;dbname=mibdd" usuario clave
php symfony generate:app frontend
ln -s web htdocs
echo 'Telefono:
columns:
name:
type: string(255)
notnull: true
ext:
type: string(4)
unique: true
notnull: true
number:
type: string(9)
notnull: true
'> config/doctrine/schema.yml
php symfony plugin:install sfDoctrineGuardPlugin
php symfony doctrine:build --all --and-load --no-confirmation
php symfony guard:create-user admin adminpass
php symfony doctrine:generate-module --non-verbose-templates frontend telefono Telefono
php symfony plugin:publish-assets
#Securizar App.
sed -i 's/is_secure: false/is_secure: true/g' \
apps/frontend/config/security.yml
sed -i 's/class myUser extends sfBasicSecurityUser/class \
myUser extends sfGuardSecurityUser/g' \
apps/frontend/lib/myUser.class.php
echo ' enabled_modules: [default, sfGuardAuth]
login_module: sfGuardAuth
login_action: signin
secure_module: sfGuardAuth
secure_action: secure' >> apps/frontend/config/settings.yml
sed -i 's/param: { module: default, action: index }/param: \
{ module: telefono, action: index }/g' \
apps/frontend/config/routing.yml
echo 'sf_guard_signin:
url: /login
param: { module: sfGuardAuth, action: signin }
sf_guard_signout:
url: /logout
param: { module: sfGuardAuth, action: signout }
sf_guard_password:
url: /request_password
param: { module: sfGuardAuth, action: password }' >> apps/frontend/config/routing.yml
php symfony cc
php symfony plugin:publish-assets
Me ha parecido que era algo curioso de ver.
Saludos.