Generación de Entidades desde base de datos con Symfony 3

Si utilizamos Symfony como framework de desarrollo PHP, existe la posibilidad que en algún proyecto ya tengamos creada la base de datos en nuestro motor de base de datos y necesitemos crear los archivos PHP necesarios (Entidades) organizados por Bundles. A continuación vamos a mostrar un ejemplo de como hacerlo.

Vamos a suponer que tenemos varias tablas en nuestra base de datos, pero no todas corresponden al mismo Bundle, de la siguiente lista

  • mod_tabla1
  • mod_tabla2
  • otro_tabla

Solo nos interesa generar la tabla «otro_tabla» para nuestro Bundle, para ello nos ubicamos en nuestro directorio raíz del proyecto y ejecutamos:

bin/console doctrine:mapping:import --force JewifcomNombreBundle xml --filter="OtroTabla"

 

Para este caso:

  • JewifcomNombreBundle es el nombre de nuestro Bundle
  • xml es el formato, puede ser también yml
  • OtroTabla es la tabla que nos interesa,notar que aunque el nombre en la base incluye «_» en el mismo se debe colocar el nombre en formato camel case

Posteriormente es conveniente limpiar el cache ejecutando:

bin/console cache:clear --env=dev

 

Y ya es posible generar los archivos Entidad, ejecutando:

bin/console doctrine:generate:entities JewifcomNombreBundle

 

Si queremos que estén en formato de anotaciones, ejecutamos:

bin/console doctrine:mapping:convert annotation ./src/ --force

 

 

 

Test de velocidad de conexión a Internet desde terminal de Linux

Si por alguna razón necesitamos realizar un test de velocidad de la conexión a Internet desde la consola / terminal de linux, podemos utilizar la aplicación speedtest-cli. En este ejemplo realizamos la instalación en un Linux Fedora 23, pero es fácilmente instalable en otras distribuciones siguiendo la misma lógica.

Instalación:

dnf -y install python-pip
pip install speedtest-cli

Uso:

speedtest-cli

Speedtest-cli

 

 

Instalación de Zephir en CentOS 7

Zephir , es una lenguaje de alto nivel diseñado para facilitar la creación y el mantenimiento de extensiones de PHP enfocado  en la seguridad y consumo de memoria.

 

En los pasos se muestra la instalación utilizando el repositorio remi para php 5.5, pero se lo puede sustituir fácilmente con la version 5.6 o la versión que trae el repositorio estandar de CentOS 7

 

Instalación de utilidades

yum -y install rsync wget vim-enhanced

 

 

Instalación de PHP 5.5

yum --enablerepo=remi,remi-php55 install git gcc make php php-json php-devel pcre-devel json-c re2c json-c-devel

 

 

Instalación de libreria re2c

cd
wget http://mirror.yandex.ru/fedora/russianfedora/russianfedora/free/el/releases/7/Everything/x86_64/os/re2c-0.13.5-7.el7.R.x86_64.rpm
yum localinstall re2c-0.13.5-7.el7.R.x86_64.rpm

 

 

Instalación de Zephir

mkdir zephir
cd zephir
git clone https://github.com/phalcon/zephir
cd zephir

./install -c

 

 

 

Instalación de PHP 5.6 en CentOS 7

Para instalar PHP 5.6 en CentOS 7, en una consola como root, seguimos los siguientes pasos:

1. Instalación de repositorio

cd
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install remi-release-7.rpm

 

2. Instalación de PHP y PHP-FPM

yum --enablerepo=remi,remi-php56 -y install php php-json php-fpm php-devel php-common php-gd php-mbstring php-mcrypt php-xml php-mysql php-pecl-memcache php-pecl-apcu php-pgsql php-devel php-mysql gcc libtool

3. Inicio automatico e inicio del servicio

systemctl enable php-fpm
systemctl start php-fpm.service

 

 

 

Instalación de SonarQube en Centos 7

SonarQube, antes llamado unicamente como Sonar, es una herramienta OpenSource, que nos permite gestionar la calidad de nuestro código de nuestros proyectos: Cubre aspectos como:

  1. Arquitectura y diseño
  2. Comentarios
  3. Reglas de codificación
  4. Detección de potenciales errores (bugs)
  5. Complejidad de código
  6. Pruebas unitarias
  7. Repetición de código

Para instalar la SonarQube en Centos 7, ejecutamos en una consola como root, los siguientes comandos:

1. Pre requisitos

 yum -y install wget zip unzip java

 

2. Instalación MySQL / MariaDB

Instalación:

 yum -y install mariadb mariadb-server mariadb-devel

Configuramos el servicio para que arranque automáticamente y lo inciamos

chkconfig mariadb on
service mariadb start

Ejecutamos la instalación segura, seguir los pasos una vez se ejecute

/usr/bin/mysql_secure_installation

 

3. Creación de Base de Datos

 

Creación de la base de datos que utilizara SonarQube para almacenar la información, para ello ingresamos como root

mysql -uroot -p

y ejecutamos las siguientes sentencias:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'AQUI_TU_CLAVE';
flush privileges;
quit;

 

4. Instalación SonarQube

wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.1.2.zip
unzip sonarqube-5.1.2.zip
mv ~/sonarqube-5.1.2/ /usr/local/
ln -s /usr/local/sonarqube-5.1.2/ sonar

Abrimos el puerto que utiliza el servidor web de SonarQube

firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload

 

5. Configuración de SonarQube

 

Editamos el archivo:

vim /usr/local/sonar/conf/sonar.properties

Descomentamos las siguientes lineas y colocamos nuestra información:

sonar.jdbc.username=sonar
sonar.jdbc.password=AQUI_TU_CLAVE

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

 6. Inicialización

 /usr/local/sonar/bin/linux-x86-64/sonar.sh start

El usuario y clave por defecto que trae configurado es:
admin / admin