Si no tienes un ordenador con muchos recursos o simplemente te gusta saber cuanta memoria está consumiendo tu máquina en cada momento puedes hacerlo muy fácilmente.

Si no tienes un ordenador con muchos recursos o simplemente te gusta saber cuanta memoria está consumiendo tu máquina en cada momento puedes hacerlo muy fácilmente.
Típicamente tu bash en linux tendrá la siguiente extructura
nombre-de-usuario@nombre-de-maquina/host:directorio-actual~$ cristian-suaver@maquina-linux-de-criskrus:/Descargas~$Continue reading
Para crear nuestra primera página basta con crear un nuevo documento PHP
// src/Controller/LuckyController.php
namespace
App\Controller
;
use
Symfony\Component\HttpFoundation\Response
;
class
LuckyController
{
public
function
number
()
{
$number
=
mt_rand
(
0
,
100
);
return
new
Response
(
'Lucky number: '
.
$number
.
''
);
}
}
Y luego añadir en nuestro archivo config/routes.yaml
la siguiente línea:
app_lucky_number:
path:
/lucky/number
controller:
App\Controller\LuckyController::number
Si entramos en localhost:8000/lucky/number veremos el resultado.
Para evitar tener que poner cada ruta en este archivo manualmente, usaremos las anotaciones. Para instalar estas (añadir la dependencia) desde el directorio del proyecto en la consola ejecutamos:
composer
require annotations
Con esto ya podremos eliminar las líneas que habíamos puesto en routes.yaml
// src/Controller/LuckyController.php
namespace
App\Controller
;
use
Symfony\Component\HttpFoundation\Response
;
use
Symfony\Component\Routing\Annotation\Route
;
class
LuckyController
{
/**
*
@Route("/lucky/number")
*
@return
Response
*/
public
function
number
()
{
$number
=
mt_rand
(
0
,
100
);
return
new
Response
(
'Lucky number: '
.
$number
.
''
);
}
}
Si entramos en localhost:8000/lucky/number veremos como todo sigue funcionando de la misma manera. Una vez en este punto al intentar desplegar en Heroku me dio problemas:
Script
cache:clear returned with error code 255
!!
PHP
Fatal error: Uncaught RuntimeException: APP_ENV environment variable is not defined. You need to define environment variables for configuration or add
"symfony/dotenv"
as a Composer dependency to load variables from a .env file. in /tmp/build_28bf132bc15e00a1674b37dec1340dc6/CrisKrus-My-Symfony-Project-f31cfde/bin/console:20
!!
Stack
trace:
!! #
0
{main}
!!
thrown
in /tmp/build_28bf132bc15e00a1674b37dec1340dc6/CrisKrus-My-Symfony-Project-f31cfde/bin/console on line 20
!!
!
Push
rejected, failed to compile PHP app.
!
Push
failed
Para solucionar este problema basta con seguir las instrucciones del error, las cuales nos indica que con añadir la dependencia de “dotenv” con Composer, estando dentro del directorio del proyecto.
composer
require dotenv
Otro problema mas, si nos dirigimos a la aplicación una vez ya tenemos todo en master correctamente, veremos como no hay nada desplegado realmente. Eso es porque no hemos indicado que directorio es el que queremos que use, se lo tenemos que indicar de la siguiente forma. Creando el archivo Procfile indicando al servidor de Heroku que carpeta, public en nuestro caso.
web
: vendor/bin/heroku-php-apache2 public/
Añadir framework-extra-bundle dependencia. *Esto no se hasta que punto es realmente necesario.
composer
require sensio/framework-extra-bundle
Symfony, primera página
Symfony, extra bundle dependencia
Symfony, crear procfile
En este caso usaré para el desarrollo el PhpStorm, instalaremos el plug-in de Symfony desde > File > Settings > Plugins > Browse repositories…
Donde lo buscaremos e instalaremos.
Una vez instalados lo configuraremos para nuestro proyecto > File > Settings > Languages & Frameworks > PHP > Symfony
Marcamos Enable Plugin for this Project cerramos el proyecto y lo volvemos a abrir.
Tras ello podemos configurar el estilo del código de acuerdo con Symfony, si queremos > File > Settings > Editor > Code Style > PHP > Set from… > Predefined Style > Symfony
Jetbrains, instalar add-ons
Tras subir el proyecto a Github, podremos desplegarlo en Heroku de manera bastante sencilla.
Estando en el directorio en el que queremos crear el proyecto ejecutamos
composer create-project symfony/skeleton my_project
Siendo my_project el nombre del proyecto.
Una vez descargado todo, se crea el árbol de directorios y nos indica que debemos entrar en el directorio del proyecto y ejecutar
php -S 127.0.0.1:8000 public/index.php
Con ello nuestro terminal quedara “inutilizado” ejecutando el proyecto, para cerrarla bastara con pulsar la combinación de teclas Ctrl + c
Tras ello si vamos a nuestro explorador web y entramos en http://localhost:8000/
veremos la pagina de inicio de nuestro proyecto.
NOTA: Se puede usar cualquier otro puerto si este se encuentra en uso, en mi caso el 8000 no hay problema.
Symfont, configuracion symfony
Curso en video, primeros pasos con symfony
Instalar PHP y algún extra
sudo apt-get install php
sudo apt-get install php-xdebug
sudo apt-get install php-intl
Comprobar la versión de PHP instalada
php -v
Instalar los estándares del estilo de código y comentarios que sigue Symfony, estos son los PSR-0 PSR-1 PSR-2 PSR-4 de PHP. Para esto instalaremos php-codesniffer
sudo apt-get install php-codesniffer
Con esto ya tendremos donde instalar estándares de desarrollo, en mi caso:
/usr/share/php/PHP/CodeSniffer/src/Standards
Nos moveremos hasta el para posteriormente incluir los estándares.
cd /usr/share/php/PHP/CodeSniffer/src/Standards
*En caso de no tener instalado git en el sistema lo instalamos para poder clonar el repositorio.
sudo apt-get install git
Si buscamos “symfony coding standard” en Google, en el primer resultado de Github podremos clonarlo:
git clone git://github.com/djoos/Symfony-coding-standard.git
AVISO: en el paso tres nos colocamos en el repositorio “/usr/share/php/PHP/CodeSniffer/src/Standards” debemos seguir en él.
Añadir el repositorio clonado a las rutas de codesniffer, especificaremos la ruta absoluta.
sudo phpcs --config-set installed_paths /usr/share/php/PHP/CodeSniffer/src/Standards/Symfony-coding-standard/
Comprobamos que ha sido instalado correctamente
phpcs -i
En la consola tendría que aparecer Symfony entre otros.
David Morales, instalacion de PHP
David Joos, standares