Você está na página 1de 5

SYMFONY

INSTALACIN:
Composer:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Symfony
composer create-project symfony/framework-standard-edition path/
"2.5.*"
PERMISOS:
setfacl -R -m u:usuario1:rwx -m u:usuario2:rwx app/cache app/logs
setfacl -dR -m u:usuario1:rwx -m u:usuario2:rwx app/cache app/logs
ACCESO:
Editar fichero: web/config.php
if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
'127.0.0.1','192.168.1.35',
'::1',
)))
Editar fichero: web/app_dev.php
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1',
'192.168.1.35', 'fe80::1', '::1')) || php_sapi_name() === 'cliserver')
)
PREVIO
Extension: INTL
Instalar librera ICU
yum install libicu-devel
compilar la extensin en el directorio del cdigo fuente php
cd /usr/src/php-5.5.15/ext/intl
phpize
./configure
make
make install
Agregamos la extensin intl.so a nuestro archivo php.ini
Extensin=intl.so
NOTAS
Agregar enlaces simblicos a los bundles de tu proyecto (valido en
servidor Linux)
php app/console assets:install --symlink

SYMFONY SAT PIURA


Instalacin
Se instalara la versin 2.3 debido a que tiene soporte hasta julio del 2016.
$ composer create-project symfony/framework-standard-edition path/
"2.3.*"
Entorno de produccin:
Para que se visualice la web en entorno de produccin habilite lo siguiente
en el fichero app.php
$kernel = new AppKernel('prod', true);
Borrando la cache
Aadiendo la opcin --no-warmup, el comando cache:clear solamente borra
los contenidos de la cach, por lo que su ejecucin es casi instantnea.
Despus, la primera vez que accedas a la aplicacin se genera la cach de
todos los archivos necesarios para ejecutar esa pgina.
// Limpiar la cach
$ php app/console
// Limpiar la cach
$ php app/console

de desarrollo
cache:clear --no-warmup --env=dev
de produccin
cache:clear --no-warmup --env=prod

Generando Bundle
Comando de consola que genera el esqueleto completo de un bundle con
slo contestar a varias preguntas bsicas.
$ php app/console generate:bundle
Bundle namespace: Respuesta: Cupon/OfertaBundle
Bundle name: OfertaBundle
Target directory: ENTER
Configuration format: YML
Do you want to generate the whole directory structure: NO
Creando Entidades
Para aadir los getters y setters para todas las propiedades.
$ php app/console generate:doctrine:entities SatBundle
Para generar automticamente entidades completas
$ php app/console doctrine:generate:entity
shortcut name: SatBundle:Ciudad
Configuration format (yml, xml, php, or annotation) [annotation]:
<Enter>
Aadimos los campos
Do you want to generate an empty repository class [no]? No
Do you confirm generation [yes]? Yes
Creando la BD
Para crear la BD especificada se usa:
$ php app/console doctrine:database:create
$ php app/console doctrine:database:create --connection=user_oti

Y para crear la estructura de las tablas:


$ php app/console doctrine:schema:create
$ php app/console doctrine:schema:create --em=user_oti
Actualizar la BD
Ver las sentencias SQL que se ejecutaran para la actualizacin
$ php app/console doctrine:schema:update --dump-sql
$ php app/console doctrine:schema:update --dump-sql --em=user_oti
Ejecutar las sentencias SQL anteriores
$ php app/console doctrine:schema:update force
$ php app/console doctrine:schema:update --force --em=user_oti
Creando Formularios de entidades
Tambien llamados CRUD
$ php app/console generate:doctrine:crud
The Entity shortcut name: SatBundle:Region
Do you want to generate the "write" actions [no]? yes
Configuration format (yml, xml, php, or annotation) [annotation]:
<Enter>
Routes prefix [/region]: /regin
Do you confirm generation [yes]? yes
Creando enlaces simblicos a los bundles
Es mejor aplicar enlaces simblicos a los bundles pblicos (osea de la
carpeta web)
$ php app/console assets:install symlink
Instalando los fixtures
Abre el archivo composer.json
{
...
"require": {
...
"doctrine/doctrine-fixtures-bundle": "dev-master"
}
}
Despus, ejecuta el siguiente comando para descargar e instalar los nuevos
componentes:
// si has instalado Composer globalmente
$ composer update
// si has instalado Composer solamente en tu proyecto
$ php composer.phar update
Por ltimo, activa en el archivo app/AppKernel.php el bundle
DoctrineFixturesBundle.
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...

new
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBu
ndle(),
);
// ...
}
}
Cargar datos mediante Fixtures
Para cargar los datos en la aplicacin, simplemente ejecuta el siguiente
comando:
$ php app/console doctrine:fixtures:load
> purging database
> loading Cupon\CiudadBundle\DataFixtures\ORM\ciudades
Para hacer que se inicialicen, aade la opcin --purge-with-truncate
$ php app/console doctrine:fixtures:load --purge-with-truncate
Para no borrar los datos existente, puedes emplear la opcin --append, que
hace que los nuevos datos se aadan a los ya existentes
$ php app/console doctrine:fixtures:load --append
Modificar estructura de los formularios
Para poder aadir funcionalidad a los formularios en su vista agregamos
esto:
# Twig Configuration
twig:

form:
resources:
- 'SatBundle:Form:fields.html.twig'
ERRORES:
No actualiza CSS ni JS
Se debe reactualizar los assets con el comando.
$ php app/console assets:install --symlink
Accesar a los entity manager en multiple conecciones
// All three return the "default" entity manager
$em = $this->get('doctrine')->getManager();
$em = $this->get('doctrine')->getManager('default');
$em = $this->get('doctrine.orm.default_entity_manager');
// Both of these return the "user_oti" entity manager
$customerEm = $this->get('doctrine')->getManager('user_oti');
$customerEm = $this->get('doctrine.orm.user_oti_entity_manager');
Llamar a los repositorios
// Retrieves a repository managed by the "default" em
$products = $this->get('doctrine')
->getRepository('AcmeStoreBundle:Product')
->findAll()
;

// Explicit way to deal with the "default" em


$products = $this->get('doctrine')
->getRepository('AcmeStoreBundle:Product', 'default')
->findAll()
;
// Retrieves a repository managed by the "user_oti" em
$users = $this->get('doctrine')
->getRepository('AcmeCustomerBundle:Customer', 'user_oti')
->findAll()
;
ERROR: MAPPING CLASE USUARIO EN DOS CONECCIONES
Bug:
src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php

public function __construct(ManagerRegistry $registry, $class,


$property = null, $managerName = null)
{
$em = $registry->getManager($managerName);
+
$em = null === $managerName
+
? $registry->getManagerForClass($class)
+
: $registry->getManager($managerName);
+
$this->class = $class;
$this->metadata = $em->getClassMetadata($class);
Error XAMPP
Necesita soporte openssl
INSTALAR BUNDLE: liip/imagine-bundle
Seguir pasos de la web: https://github.com/liip/LiipImagineBundle
Activar extensiones php: gd y exif
Dar permisos a carpeta web/media para los usuarios: local y
daemon(apache)

Você também pode gostar