Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/garak/sfjqec
Un progetto didattico per dimostrare come integrare symfony e jQuery
https://github.com/garak/sfjqec
Last synced: about 1 month ago
JSON representation
Un progetto didattico per dimostrare come integrare symfony e jQuery
- Host: GitHub
- URL: https://github.com/garak/sfjqec
- Owner: garak
- License: lgpl-3.0
- Created: 2010-11-29T07:53:52.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2011-05-09T09:29:42.000Z (over 13 years ago)
- Last Synced: 2024-10-13T04:53:12.438Z (2 months ago)
- Language: PHP
- Homepage:
- Size: 1.17 MB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE.markdown
Awesome Lists containing this project
README
sfjqec
======(english version below)
-----------------------Questo progetto symfony, basato su [symfony 1.4](http://www.symfony-project.org/) e
[Propel 1.5](http://www.propelorm.org/), è stato creato a scopo didattico, per una
presentazione tenuta inizialmente per il [PUG Roma](http://roma.grusp.org/) e poi
ampliata per il [phpDay](http://www.phpday.it/2011).
Lo scopo di questo codice è in generale mostrare come integrare correttamente
Javascript e PHP, con particolare riferimento a symfony e jQuery.
Il progetto mostra un semplicissimo e-commerce, da cui il nome: sfjqec è formato da
sf (symfony) + jq (jQuery) + ec (e-commerce).in breve
--------In estrema sintesi, questo progetto mostra come integrare correttamente Javascript e PHP,
usando AJAX. I passi sono i seguenti:* scrivere l'applicazione come se Javascript non esistesse
* legare alcuni eventi (tipicamente click di link e submit di form) a delle funzioni
Javascript
* ciascuna di queste funzioni Javascript richiama uno script PHP, tramite AJAX
* al successo della chiamata AJAX, richiama un'altra funzione Javascript, che si occupa
di manipolare il DOMNello specifico di jQuery e symfony, i passi si traducono nel seguente modo:
* scrivere il controller normalmente
* scrivere un file Javascript che usi l'evento `ready()` di jQuery e che faccia il `bind`
dei click e dei submit necessari
* usare l'evento passato da `bind` nella funzione Javascript per estrarre i riferimenti
necessari dal DOM
* nel controller, effettuare le necessarie modifiche (spesso basta modificare i redirect,
in modo che NON siano effettuati per le richieste AJAX)
* nella vista, aggiungere un file del tipo `NomeAzioneSuccess.json.php`
* di nuovo nel file Javascript, scrivere la funzione che deve manipolare il DOM,
basandosi sulla variabile `result`, che a questo punto contiene un oggetto JSON, che
jQuery ricava dal codice della vista del punto precedenteA questo punto il mio consiglio è quello di analizzare i passi precedenti, tenendo
sott'occhio il codice di questo progetto, in particolare il controller e il file js.english version
---------------This symfony project, based on [symfony 1.4](http://www.symfony-project.org/) and
[Propel 1.5](http://www.propelorm.org/), has been created for learning purpose, for a
presentation held a first time for[PUG Roma](http://roma.grusp.org/) and then, in a
wider format, for [phpDay](http://www.phpday.it/2011).
The purpose of this code is showing how to integrate in a proper way Javascript e PHP,
with specific references to symfony and jQuery.
The project shows a very simple e-commerce site, so it's called "sfjqec":
sf (symfony) + jq (jQuery) + ec (e-commerce).in short
--------The correct way to integrate Javascript and PHP, with AJAX, is divided in 4 steps:
* write app as if Javascript wouldn't exist
* tie some events (link clicks and form submits, tipically) to Javascript functions
* each of such functions recall a PHP script, via AJAX
* when AJAX call succeeds, Javascript calls another function, that deals with DOM
manipulationWith jQuery and symfony, the steps are translated like follow:
* write a standard controller
* write a Javascript file using jQuery's `ready()` event, doing a `bind` of clicks
and submits, where needed
* use event passed by `bind` in Javascript function and extract needed references
from DOM
* in the controller, do the needed adaptations (often all you need is to change
redirects, so they are NOT executed for AJAX requests)
* in the view, add a file like `ActionNameSuccess..json.php`
* again in Javascript file, write a function to manipolate DOM, based on `result`
variabile, that is currently containing a JSON object, elaborated by jQuery from
the viewMy advice is to analyze those steps, while looking to project code, mainly the controller
and the js file.