26
May
Postato in PHP, Web developing by admin |
Notes to setup a PHP application built with
symfony (MVC web framework) on a aruba.it shared linux web server.
- Set PHP5 (not php4)
- in <app>/.htaccess
Comment the 1st line (FollowSymLinks not supported)
#Options +FollowSymLinks +ExecCGI
- propel:
configure tables as MyISAM, not INNODB (not supported)
Tested with symfony 1.2.5 in aruba linux hosting - 26/05/09
5
Mar
Postato in Web developing by admin |
Se avete dei frame o iframes nella pagina e in questi avete dei redirect (tramite direttive meta o javascript reload), su Internet Explorer 7 il back button (indietro) del browser agisce sull’ultimo frame che ha cambiato URL, cioè non manda indietro la pagina principale, ma solo il frame.
Comportamento molto contro-intuitivo, come del resto c’è da aspettarsi con browser Microsoft. Su Chrome e Firefox nessun problema invece.
Per ovviare alla cosa, fate redirezionare frame e iframe usando sempre javascript, NON con il metodo
.location = “newpage.html”;
ma con
window.location.replace(”newpage.html”)
che continua a funzionare su tutti i browser
Thanks to google e questo articolo
20
Dec
Postato in Web developing, universita by admin |
posto qua il materiale usato nella tesi, più che altro per non perderlo, e nel caso interessasse a qualcuno.
Presentazione
Implementazione sistema di tipi (dichiarazione e controlli conformità a runtime, di messaggi xml inviati dalle operazioni) per JOLIE (linguaggio e interprete open source per creare orchestratori di servizi web che compongono applicazioni distribuite nella rete).
Oppure presentazione_ppt2003.ppt
Demo
applicazione distribuita "gestione sessioni esami prof-studenti".
2 servizi database in modalità server, servizio centrale in modalità concorrente che gestisce e smista le sessioni di comunicazione tra più servizi con interfaccia grafica: professori (ognuno embedda più servizi contemporanei di esame per i vari studenti) e studenti. Con sistema di tipi attivo ed esempio di studente con interfaccia errata e errore di non conformità di messaggio.
Demo funzionante.zip (Vedi readme dentro, serve JVM) 3 Mb - Anteprima.jpg
Tesi
tesi.pdf (1 Mb)
Per lanciare uno script nel browser bisogna lanciare il server, poi specificare la url in localhost al giusto path.
Propongo un batch in autoit che fa tutto questo con un click sul menu contestuale del file di script.
Idea:
se un file è presente in c:\www\sito1\file.php bisogna lanciare http://localhost:8080/sito1/file.php.
quindi basta rimpiazzare i prefissi e sostituire gli slashes per ottenere la url del server localhost.
Ecco un codice funzionante (scarica anche da qui e ammetti di essere pigro
), da personalizzare con i propri path, poi compilare (tasto destro->compile) ed associare ai files di script.
vedi i commenti
$apacheDocumentRoot = "e:\" ; vedi DocumentRoot in httpd.conf
$apacheUrlRoot = "http://localhost:8080/" ; oppure 127.0.0.1:<porta>
$nomeEseguibileServer = "EasyPHP.exe" ; anche xmapp o Apache.exe
$pathEseguibileServer = "E:\siti\easyphp\EasyPHP.exe"; vedi sopra
$testoTrayTipWindows = "lancio pagina php in locale"
$timeoutSecondiTrayTipWindows = 6
$pathBrowser = "E:\applicazioni\internet\Mozilla Firefox\firefox.exe"
$parametriBrowserAfterUrl = "-url" ; internet explorer non vuole parametri, usare ""
If ($CmdLine[0]==0) Then MsgBox(0,"errore","passare lo script a linea di comando") Exit EndIf
$url = $CmdLine[1]
$url = StringReplace($url, $apacheDocumentRoot, $apacheUrlRoot)
$url = StringReplace($url,"\","/")
TrayTip ( $testoTrayTipWindows , $url, $timeoutSecondiTrayTipWindows , 1 )
If NOT ProcessExists($nomeEseguibileServer) Then
Run($pathEseguibileServer)
Sleep(5000)
EndIf
Run(""""&$pathBrowser &"""" & " " &$parametriBrowserAfterUrl & " " & """" &$url & """")
Premesso che per fare piccole modifiche veloci a scripts PHP ci sono molti editor personalizzabili, ho recentemente cercato un ambiente di sviluppo IDE per PHP gratuito, da usare per progettare applicazioni + complesse su Windows.
Il primo che ho provato è Netbeans for PHP. Netbeans lo ritengo uno tra i più completi IDE per Java, a molti non piace per la sua pesantezza, e in effetti è pesante, ma è il prezzo da pagare per avere il massimo delle funzionalità. E quando si ha a che fare con progetto complessi, le funzionalità aiutano eccome. Da precisare che ci vuole molto tempo ad avviare l’IDE, poi si lavora con fluidità sui progetti aperti.
Dallo screencast vedo già che supporta le classiche funzioni Netbeans per Java, refactoring, evidenziazione codice, autocompletamento (anche di metodi importati da classi create dall’utente e incluse in qualsiasi modo), debugging, templates e abbreviazioni. L’ide installato occupa meno di 90 Mb e non interferisce con altre installazioni di Netbeans.
Interessante è anche l’editor HTML (ovviamente non WYSIWYG) che segnala errori di tag non corrispondenti e ha una piccola palette dei tag, oltre a fornire - in autocompletamento - l’elenco degli attributi disponibili per il tag corrente con tanto di documentazione onscreen.
Molto interessante anche l’editor Javascript che evidenzia sintassi ed errori del codice, autocompleta funzioni degli oggetti javascript, refactoring di variabili e funzioni ecc..
Stessa cosa per CSS: evidenziazione, autocompletamento selettori e attributi, con tanto di palette per selezionare caratteri, colori, bordi, posizioni.
Utile anche la funzione di download/upload FTP dei files che avviene sui corrispondenti path remoti nel server.
Sono rimasto invece deluso da Eclipse PDT dato che molti optano per eclipse piuttosto che netbeans. I tempi di avvio sono simili a quelli di Netbeans PHP. Non è possibile facilmente creare un progetto da files esistenti. la visibilità su metodi e funzioni incluse non ha funzionato bene in alcuni casi, il refactoring delle funzioni e metodi non ha funzionato. Il resto delle funzionalità (autocompletamento e altro anche per CSS e javascript) mi sono invece sembrate ottime e paragonabili a quelle di Netbeans.
So ora dell’esistenza di Dev PHP, quindi forse lo proverò sperando di poterlo usare come alternativa leggera.
Tempo fa ho provato Zend Studio (5.5 mi pare) e immagino che adesso sia almeno all’altezza dei 2 sopra, peccato che sia pagamento.
Sono curioso dei vostri commenti e di sapere cosa voi usate.