SlideShare a Scribd company logo
gestire le
librerie di
frontend
in PHP!

Massimiliano Arione
problema
voglio gestire le mie librerie di frontend
problema
voglio gestire le mie librerie di frontend
ovvero...
problema
voglio gestire le mie librerie di frontend
ovvero…
file javascript
fogli di stile
qui parliamo di...
librerie esterne!
●
●
●
●
●
●
●

bootstrap
foundation
modernizr
jquery
jquery-ui
font awesome
ecc ecc….
la prima soluzione...
(brutta! NON FATELO!!)
… scaricare le librerie e includere nel
repository del progetto
una prima soluzione decente...
usare composer
https://github.com/components
{
"require": {
"components/modernizr": "2.*",
"components/jqueryui": "1.10.*",
"components/bootstrap": "2.*"
}
}
smell
i file sono copiati in una cartella pubblica
{
"config": {
"bin-dir": "bin",
"component-dir": "web/components"
},
}
seconda soluzione
bower!
sudo npm install -g bower
bower help
bower init
file di configurazione
bower.json
{
"name": "PUG Roma",
"authors": [
"Massimiliano Arione”
]
"dependencies": {
"jquery": "2.*"
}
}
installazione
bower install
con Symfony2
.bowerrc
{
"directory": "app/Resources/bower"
}

da aggiungere a .gitignore
capifony
before 'symfony:cache:warmup', 'bower:
install'
namespace :bower do
desc '[internal] Run the bower install'
task :install do
invoke_command "cd #{latest_release}
&& bower:install"
end
end
assetic
assetic:
assets:
jquery_js:
inputs:
- "%kernel.root_dir%/..
/app/Resources/bower/jquery/jquery.js"
layout
{% javascripts
'@jquery_js'
'@AcmeBundle/Resources/public/js/my.js'
%}
?
http://bower.io/
https://github.com/Spea/SpBowerBundle

More Related Content

Similar to Gestire librerie di frontend in php

Un CMS in 25min con Symfony CMF
Un CMS in 25min con Symfony CMFUn CMS in 25min con Symfony CMF
Un CMS in 25min con Symfony CMF
Manuel Baldassarri
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2
Fabio Mora
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
Alessandro del Gobbo
 
7 - Web application e CMS
7 - Web application e CMS7 - Web application e CMS
7 - Web application e CMS
Giuseppe Vizzari
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
Tiziano Serritella
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
Giuseppe Vizzari
 
Le cartelle di Windows 10 e "Esplora file"
Le cartelle di Windows 10 e "Esplora file"Le cartelle di Windows 10 e "Esplora file"
Le cartelle di Windows 10 e "Esplora file"
Franco Marra
 
L'avventura dell'interprete UI - Un'indagine Java di Lotus Holmes
L'avventura dell'interprete UI - Un'indagine Java di Lotus HolmesL'avventura dell'interprete UI - Un'indagine Java di Lotus Holmes
L'avventura dell'interprete UI - Un'indagine Java di Lotus Holmes
Dominopoint - Italian Lotus User Group
 
8. Architetture web
8. Architetture web8. Architetture web
8. Architetture web
Roberto Polillo
 
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Marco Chiesi
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
Giuseppe Vizzari
 
Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"
Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"
Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"
Abstract Technology Agency
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more things
KnowCamp
 
Drush make vs composer
Drush make vs composer Drush make vs composer
Drush make vs composer
sparkfabrik
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
sscalabrino
 
Drush make vs composer
 Drush make vs composer Drush make vs composer
Drush make vs composer
Vincenzo Di Biaggio
 
CMS Joomla
CMS JoomlaCMS Joomla
Distribuire una libreria Java per usarla come dipendenza gradle
Distribuire una libreria Java per usarla come dipendenza gradleDistribuire una libreria Java per usarla come dipendenza gradle
Distribuire una libreria Java per usarla come dipendenza gradle
Paolo Montalto
 

Similar to Gestire librerie di frontend in php (20)

Un CMS in 25min con Symfony CMF
Un CMS in 25min con Symfony CMFUn CMS in 25min con Symfony CMF
Un CMS in 25min con Symfony CMF
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Grasso Frameworks Ajax
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
 
7 - Web application e CMS
7 - Web application e CMS7 - Web application e CMS
7 - Web application e CMS
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
Le cartelle di Windows 10 e "Esplora file"
Le cartelle di Windows 10 e "Esplora file"Le cartelle di Windows 10 e "Esplora file"
Le cartelle di Windows 10 e "Esplora file"
 
L'avventura dell'interprete UI - Un'indagine Java di Lotus Holmes
L'avventura dell'interprete UI - Un'indagine Java di Lotus HolmesL'avventura dell'interprete UI - Un'indagine Java di Lotus Holmes
L'avventura dell'interprete UI - Un'indagine Java di Lotus Holmes
 
8. Architetture web
8. Architetture web8. Architetture web
8. Architetture web
 
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
 
Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"
Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"
Slides webinar Abstract "Introduzione a Plone, il CMS scritto in Python"
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more things
 
Drush make vs composer
Drush make vs composer Drush make vs composer
Drush make vs composer
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Drush make vs composer
 Drush make vs composer Drush make vs composer
Drush make vs composer
 
CMS Joomla
CMS JoomlaCMS Joomla
CMS Joomla
 
Distribuire una libreria Java per usarla come dipendenza gradle
Distribuire una libreria Java per usarla come dipendenza gradleDistribuire una libreria Java per usarla come dipendenza gradle
Distribuire una libreria Java per usarla come dipendenza gradle
 

More from Massimiliano Arione

Typed models pug roma febbraio 2020
Typed models   pug roma febbraio 2020Typed models   pug roma febbraio 2020
Typed models pug roma febbraio 2020
Massimiliano Arione
 
Pipelines!
Pipelines! Pipelines!
Pipelines!
Massimiliano Arione
 
Il nostro amico Stan
Il nostro amico Stan   Il nostro amico Stan
Il nostro amico Stan
Massimiliano Arione
 
PSR7 - interoperabilità HTTP
PSR7 - interoperabilità HTTPPSR7 - interoperabilità HTTP
PSR7 - interoperabilità HTTP
Massimiliano Arione
 
Disinstallare fos user bundle e vivere felici
Disinstallare fos user bundle e vivere feliciDisinstallare fos user bundle e vivere felici
Disinstallare fos user bundle e vivere felici
Massimiliano Arione
 
MAGA - PUG Roma giugno 2017
MAGA - PUG Roma giugno 2017MAGA - PUG Roma giugno 2017
MAGA - PUG Roma giugno 2017
Massimiliano Arione
 
PHP7 e Rich Domain Model
PHP7 e Rich Domain ModelPHP7 e Rich Domain Model
PHP7 e Rich Domain Model
Massimiliano Arione
 
PHP on the desktop
PHP on the desktopPHP on the desktop
PHP on the desktop
Massimiliano Arione
 
Scrivere e leggere log con elastic
Scrivere e leggere log con elasticScrivere e leggere log con elastic
Scrivere e leggere log con elastic
Massimiliano Arione
 
The metrics
The metricsThe metrics
The metrics
Massimiliano Arione
 
Managing frontend libs in your Symfony project
Managing frontend libs in your Symfony projectManaging frontend libs in your Symfony project
Managing frontend libs in your Symfony project
Massimiliano Arione
 
Translating symfony docs
Translating symfony docsTranslating symfony docs
Translating symfony docs
Massimiliano Arione
 
Managing frontend libs in your php project
Managing frontend libs in your php projectManaging frontend libs in your php project
Managing frontend libs in your php project
Massimiliano Arione
 
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggioPHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggio
Massimiliano Arione
 
Migrare da symfony 1 a Symfony2
 Migrare da symfony 1 a Symfony2  Migrare da symfony 1 a Symfony2
Migrare da symfony 1 a Symfony2
Massimiliano Arione
 
Case study OmniAuto.it
Case study OmniAuto.itCase study OmniAuto.it
Case study OmniAuto.it
Massimiliano Arione
 
Symfony: un framework per il web
Symfony: un framework per il webSymfony: un framework per il web
Symfony: un framework per il web
Massimiliano Arione
 
Paypal + symfony
Paypal + symfonyPaypal + symfony
Paypal + symfony
Massimiliano Arione
 
Sviluppo rapido di applicazioni con PHP
Sviluppo rapido di applicazioni con PHPSviluppo rapido di applicazioni con PHP
Sviluppo rapido di applicazioni con PHP
Massimiliano Arione
 
symfony & jQuery (phpDay)
symfony & jQuery (phpDay)symfony & jQuery (phpDay)
symfony & jQuery (phpDay)
Massimiliano Arione
 

More from Massimiliano Arione (20)

Typed models pug roma febbraio 2020
Typed models   pug roma febbraio 2020Typed models   pug roma febbraio 2020
Typed models pug roma febbraio 2020
 
Pipelines!
Pipelines! Pipelines!
Pipelines!
 
Il nostro amico Stan
Il nostro amico Stan   Il nostro amico Stan
Il nostro amico Stan
 
PSR7 - interoperabilità HTTP
PSR7 - interoperabilità HTTPPSR7 - interoperabilità HTTP
PSR7 - interoperabilità HTTP
 
Disinstallare fos user bundle e vivere felici
Disinstallare fos user bundle e vivere feliciDisinstallare fos user bundle e vivere felici
Disinstallare fos user bundle e vivere felici
 
MAGA - PUG Roma giugno 2017
MAGA - PUG Roma giugno 2017MAGA - PUG Roma giugno 2017
MAGA - PUG Roma giugno 2017
 
PHP7 e Rich Domain Model
PHP7 e Rich Domain ModelPHP7 e Rich Domain Model
PHP7 e Rich Domain Model
 
PHP on the desktop
PHP on the desktopPHP on the desktop
PHP on the desktop
 
Scrivere e leggere log con elastic
Scrivere e leggere log con elasticScrivere e leggere log con elastic
Scrivere e leggere log con elastic
 
The metrics
The metricsThe metrics
The metrics
 
Managing frontend libs in your Symfony project
Managing frontend libs in your Symfony projectManaging frontend libs in your Symfony project
Managing frontend libs in your Symfony project
 
Translating symfony docs
Translating symfony docsTranslating symfony docs
Translating symfony docs
 
Managing frontend libs in your php project
Managing frontend libs in your php projectManaging frontend libs in your php project
Managing frontend libs in your php project
 
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggioPHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggio
 
Migrare da symfony 1 a Symfony2
 Migrare da symfony 1 a Symfony2  Migrare da symfony 1 a Symfony2
Migrare da symfony 1 a Symfony2
 
Case study OmniAuto.it
Case study OmniAuto.itCase study OmniAuto.it
Case study OmniAuto.it
 
Symfony: un framework per il web
Symfony: un framework per il webSymfony: un framework per il web
Symfony: un framework per il web
 
Paypal + symfony
Paypal + symfonyPaypal + symfony
Paypal + symfony
 
Sviluppo rapido di applicazioni con PHP
Sviluppo rapido di applicazioni con PHPSviluppo rapido di applicazioni con PHP
Sviluppo rapido di applicazioni con PHP
 
symfony & jQuery (phpDay)
symfony & jQuery (phpDay)symfony & jQuery (phpDay)
symfony & jQuery (phpDay)
 

Gestire librerie di frontend in php