Download - Gestire librerie di frontend in php

Transcript
Page 1: Gestire librerie di frontend in php

gestire le librerie di frontend

in PHP!

Massimiliano Arione

Page 2: Gestire librerie di frontend in php

voglio gestire le mie librerie di frontend

problema

Page 3: Gestire librerie di frontend in php

voglio gestire le mie librerie di frontend

ovvero...

problema

Page 4: Gestire librerie di frontend in php

voglio gestire le mie librerie di frontend

ovvero…

file javascriptfogli di stile

problema

Page 5: Gestire librerie di frontend in php

librerie esterne!

● bootstrap ● foundation● modernizr● jquery● jquery-ui● font awesome● ecc ecc….

qui parliamo di...

Page 6: Gestire librerie di frontend in php

(brutta! NON FATELO!!)

… scaricare le librerie e includere nel repository del progetto

la prima soluzione...

Page 7: Gestire librerie di frontend in php

usare composerhttps://github.com/components{

"require": {

"components/modernizr": "2.*",

"components/jqueryui": "1.10.*",

"components/bootstrap": "2.*"

}

}

una prima soluzione decente...

Page 8: Gestire librerie di frontend in php

i file sono copiati in una cartella pubblica{

"config": {

"bin-dir": "bin",

"component-dir": "web/components"

},

}

smell

Page 9: Gestire librerie di frontend in php

bower!

sudo npm install -g bower

bower helpbower init

seconda soluzione

Page 10: Gestire librerie di frontend in php

bower.json{

"name": "PUG Roma",

"authors": [

"Massimiliano Arione”

]

"dependencies": {

"jquery": "2.*"

}

}

file di configurazione

Page 11: Gestire librerie di frontend in php

bower install

installazione

Page 12: Gestire librerie di frontend in php

.bowerrc

{

"directory": "app/Resources/bower"

}

da aggiungere a .gitignore

con Symfony2

Page 13: Gestire librerie di frontend in php

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" endend

capifony

Page 14: Gestire librerie di frontend in php

assetic:

assets:

jquery_js:

inputs:

- "%kernel.root_dir%/../app/Resources/bower/jquery/jquery.js"

assetic

Page 15: Gestire librerie di frontend in php

{% javascripts

'@jquery_js'

'@AcmeBundle/Resources/public/js/my.js'

%}

layout