Discussione:
Primi passi con PHP e primo "errore"...
(troppo vecchio per rispondere)
GbMax78
2010-06-18 06:00:26 UTC
Permalink
Salve,

mi stò avvicinando al PHP per poterlo poi sfruttare con un database
MySQL; per far tutto questo ho installato Debian Squeeze con Apache2,
PHP e MySQL il tutto dai repository ufficiali.

Bene, ho provato a crearmi il primo script info.php per avere le info
del server e funziona, ho creato poi un secondo script:

<?
$nome = "Gabriele";
$eta = "25";
echo "Benvenuto " . $nome . ", tu hai " . $eta . " anni";
?>

E di risposta, sia su un client Debian con IceWeasel sia su un client XP
con Firefox ho:

Benvenuto“Gabriele�, tu hai“25� anni

Come mai secondo voi ?

Saluti !
GbMax78
Luigi Rosa
2010-06-18 06:18:33 UTC
Permalink
Post by GbMax78
<?
$nome = "Gabriele";
$eta = "25";
echo "Benvenuto " . $nome . ", tu hai " . $eta . " anni";
?>
E di risposta, sia su un client Debian con IceWeasel sia su un client XP con
Benvenuto“Gabriele�, tu hai“25� anni
1) Se usi i doppi apici come delimitatore di stringa, puoi includere le
variabili senza usare il concatenatore di stringa.Se usi, invece, gli apici
singoli non c'e' l'espansione delle variabili. La tua terza riga poteva essere
scritta cosi' per avere lo stesso risultato:
echo "Benvenuto $nome, tu hai $eta anni";

2) Che editor stai usando per scrivere i sorgenti?




Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

Mathematicians do it in theory.
ValeRyo Saeba
2010-06-18 07:25:03 UTC
Permalink
Post by Luigi Rosa
La tua terza
echo "Benvenuto $nome, tu hai $eta anni";
Per evitare problemi consiglio sempre
echo "Benvenuto {$nome}, tu hai {$eta} anni";
--
ValeRyo
XT600 "Katoki Pajama" - http://www.slimmit.com/go.asp?7Y9
Napoli - appartamento in vendita: http://www.quisicasa.com
Luigi Rosa
2010-06-18 07:57:12 UTC
Permalink
Post by ValeRyo Saeba
Per evitare problemi consiglio sempre
echo "Benvenuto {$nome}, tu hai {$eta} anni";
Onestamente, mai avuti di problemi (tranne in casi specifici che avevo previsto).

Per me le parentesi graffe, non sono un problema, ma per chi ha la tastiera
italiana, povero lui!


Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

You do not wish to know anything. You wish only to speak. That which
you know, you ignore because it is inconvenient. That which you do
not know, you invent.
--Delenn, "Deconstruction of Falling Stars", Babylon 5
ValeRyo Saeba
2010-06-18 08:05:39 UTC
Permalink
Post by Luigi Rosa
Post by ValeRyo Saeba
Per evitare problemi consiglio sempre
echo "Benvenuto {$nome}, tu hai {$eta} anni";
Onestamente, mai avuti di problemi (tranne in casi specifici che avevo previsto).
E un array come lo usi?
echo "Benvenuto {$dati['nome']}, tu hai {$dati['eta']} anni";

O ancora, se devi attaccare la variabile al testo?
$non = 'non';
if ($compleanno) $non = '';
echo "Benvenuto {$nome}, oggi è il tuo {$non}compleanno";
Post by Luigi Rosa
Per me le parentesi graffe, non sono un problema, ma per chi ha la
tastiera italiana, povero lui!
E perché? sono le quadre con lo shift...
--
ValeRyo
XT600 "Katoki Pajama" - http://www.slimmit.com/go.asp?7Y9
Napoli - appartamento in vendita: http://www.quisicasa.com
Luigi Rosa
2010-06-18 08:22:39 UTC
Permalink
Post by ValeRyo Saeba
E un array come lo usi?
echo "Benvenuto {$dati['nome']}, tu hai {$dati['eta']} anni";
echo "Benvenuto $dati[nome], tu hai $dati[eta] anni";
Post by ValeRyo Saeba
O ancora, se devi attaccare la variabile al testo?
Ecco perche' ho scritto "(tranne in casi specifici che avevo previsto)".
Post by ValeRyo Saeba
Post by Luigi Rosa
Per me le parentesi graffe, non sono un problema, ma per chi ha la
tastiera italiana, povero lui!
E perché? sono le quadre con lo shift...
Quadre con lo shift e', appunto, la tastiera USA.


Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

It [being a Vulcan] means to adopt a philosophy, a way of life which
is logical and beneficial. We cannot disregard that philosophy merely
for personal gain, no matter how important that gain might be.
--Spock, "Journey to Babel"
ValeRyo Saeba
2010-06-18 08:33:12 UTC
Permalink
Post by Luigi Rosa
Post by ValeRyo Saeba
E un array come lo usi?
echo "Benvenuto {$dati['nome']}, tu hai {$dati['eta']} anni";
echo "Benvenuto $dati[nome], tu hai $dati[eta] anni";
Hai i warning disattivati, dici la verità :-)
L'indice di un array o è numerico o è stringa, e nel secondo
caso ci vogliono gli apici (singoli o doppi).
Post by Luigi Rosa
Post by ValeRyo Saeba
Post by Luigi Rosa
Per me le parentesi graffe, non sono un problema, ma per chi ha la
tastiera italiana, povero lui!
E perché? sono le quadre con lo shift...
Quadre con lo shift e', appunto, la tastiera USA.
Devo dire alla mia che ha cambiato nazionalità? :-D
Alt grafico + è dà la quadra aperta [
Alt grafico + shift + è dà la graffa aperta {
--
ValeRyo
XT600 "Katoki Pajama" - http://www.slimmit.com/go.asp?7Y9
Napoli - appartamento in vendita: http://www.quisicasa.com
Luigi Rosa
2010-06-18 09:15:05 UTC
Permalink
Post by ValeRyo Saeba
Post by Luigi Rosa
Post by ValeRyo Saeba
E un array come lo usi?
echo "Benvenuto {$dati['nome']}, tu hai {$dati['eta']} anni";
echo "Benvenuto $dati[nome], tu hai $dati[eta] anni";
Hai i warning disattivati, dici la verità :-)
No. I miei programmi non producono un singolo warning.
Post by ValeRyo Saeba
L'indice di un array o è numerico o è stringa, e nel secondo
caso ci vogliono gli apici (singoli o doppi).
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double

Capitolo "variable parsing"




Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

She offered her honor,
He honored her offer.
And all through the night,
It was honor and offer.
RedWiz
2010-06-18 09:24:17 UTC
Permalink
Post by Luigi Rosa
No. I miei programmi non producono un singolo warning.
L'indice di un array o è numerico o è stringa, e nel secondo caso ci
vogliono gli apici (singoli o doppi).
http://www.php.net/manual/en/
language.types.string.php#language.types.string.syntax.double
Post by Luigi Rosa
Capitolo "variable parsing"
Questa me l'ero persa, ti avrei anche io come valeryo.
RedWiz
2010-06-18 09:32:28 UTC
Permalink
Post by RedWiz
Questa me l'ero persa, ti avrei anche io come valeryo.
ehm... manca "risposto" :)
ValeRyo Saeba
2010-06-18 09:39:37 UTC
Permalink
Post by Luigi Rosa
Post by ValeRyo Saeba
Post by Luigi Rosa
Post by ValeRyo Saeba
E un array come lo usi?
echo "Benvenuto {$dati['nome']}, tu hai {$dati['eta']} anni";
echo "Benvenuto $dati[nome], tu hai $dati[eta] anni";
Hai i warning disattivati, dici la verità :-)
No. I miei programmi non producono un singolo warning.
Eppure un codice del genere dovrebbe dare "undefined constant nome".
Post by Luigi Rosa
Post by ValeRyo Saeba
L'indice di un array o è numerico o è stringa, e nel secondo
caso ci vogliono gli apici (singoli o doppi).
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double
Capitolo "variable parsing"
E con ciò? Non mi pare certo una best practice.
"Works, but PHP looks for a constant named banana first, as described
below."
Mi sembra un buon modo per fare casini in un codice
appena più complesso.

Visto che le parentesi graffe non si pagano e migliorano la
leggibilità del codice, oltre ad evitare errori vari, io *consiglio*
di metterle; non era mia intenzione avviare una guerra di religione.
--
ValeRyo
XT600 "Katoki Pajama" - http://www.slimmit.com/go.asp?7Y9
Napoli - appartamento in vendita: http://www.quisicasa.com
Luigi Rosa
2010-06-18 09:48:03 UTC
Permalink
Post by ValeRyo Saeba
Post by Luigi Rosa
No. I miei programmi non producono un singolo warning.
Eppure un codice del genere dovrebbe dare "undefined constant nome".
No. Almeno hai provato?
Post by ValeRyo Saeba
E con ciò? Non mi pare certo una best practice.
Ma dove sta scritto?!
Post by ValeRyo Saeba
"Works, but PHP looks for a constant named banana first, as described
below."
Stai riportando il commento di

{$fruits[banana]}





Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

Delenn: It is said, that in every age, there is one singular event,
that forever changes the world around us. A nexus, if you will.
G'Kar: It is said that the future is always born in pain. The
history of war is the history of pain. If we are wise, what is
born of that pain matures into the promise of a better world.
Because we learn, that we can no longer afford the mistakes
of the past.
Delenn: But in the pain of that war the future was born. A future
that would one day have a name whispered on a hundred worlds.
The final refuge for dreams and the last best hope for peace:
Babylon 5.
--"In The Beginning"
ValeRyo Saeba
2010-06-18 10:02:51 UTC
Permalink
Post by Luigi Rosa
Post by ValeRyo Saeba
Post by Luigi Rosa
No. I miei programmi non producono un singolo warning.
Eppure un codice del genere dovrebbe dare "undefined constant nome".
No. Almeno hai provato?
Ora si.
Da' warn $dati[nome] e invece "$dati[nome]" va liscio.
Post by Luigi Rosa
Post by ValeRyo Saeba
E con ciò? Non mi pare certo una best practice.
Ma dove sta scritto?!
Ci diamo una calmata?
Ho detto che non mi pare una best practice, posso avere una mia
idea oppure devo chiederti il permesso? O forse da qualche parte
è scritto "fate così perché è meglio"?
Post by Luigi Rosa
Post by ValeRyo Saeba
"Works, but PHP looks for a constant named banana first, as described
below."
Stai riportando il commento di
{$fruits[banana]}
E' vero, ho fatto il cut&paste sbagliato. Quello giusto è
// Works, but note that this works differently outside a string
Se posso, un "works, but" lo evito a prescindere, in
special modo se non mi costa nulla.

L'utilizzo delle parentesi mi consente di lavorare
come se fossi direttamente nel parser, così non devo
preoccuparmi di eventuali indici 'particolari' o di
eventuali search&replace in progetti più grossi, insomma
di tutti i casi in cui mi è stato comodo così.
Se non ti piace amen, non sono qui a fare proseliti,
ma il mio consiglio resta.
--
ValeRyo
XT600 "Katoki Pajama" - http://www.slimmit.com/go.asp?7Y9
Napoli - appartamento in vendita: http://www.quisicasa.com
Excalibur
2010-06-18 12:14:09 UTC
Permalink
Post by ValeRyo Saeba
L'utilizzo delle parentesi mi consente di lavorare
come se fossi direttamente nel parser, così non devo
preoccuparmi di eventuali indici 'particolari' o di
eventuali search&replace in progetti più grossi, insomma
di tutti i casi in cui mi è stato comodo così.
Se non ti piace amen, non sono qui a fare proseliti,
ma il mio consiglio resta.
Mi intrometto per chiedere un parere da autodidatta in PHP:
Rispetto all'utilizzo delle parentesi graffe ci sono controindicazioni,
vantaggi, svantaggi ad utilizzare questo tipo di sintassi?

echo "La squadra vincente è ".$row['squadra1']." con ".$row['punti1'].".";

Grazie
Excalibur
Luigi Rosa
2010-06-18 12:37:41 UTC
Permalink
Post by Excalibur
Rispetto all'utilizzo delle parentesi graffe ci sono controindicazioni,
vantaggi, svantaggi ad utilizzare questo tipo di sintassi?
echo "La squadra vincente è ".$row['squadra1']." con ".$row['punti1'].".";
L'unico svantaggio che vedo e' che continui ad aprire e chiudere delimitatori di
stringa e alla fine rischi di fare casino con i bilanciamenti dei delimitatori
nelle stringhe un po' complesse.

Se hai un editor che colorizza, riduci anche il rischio di cui sopra, quindi se
ti piace quella, usala.

Personalmente, trovo il variable parsing lussuriosamente comodo.


Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

It [being a Vulcan] means to adopt a philosophy, a way of life which
is logical and beneficial. We cannot disregard that philosophy merely
for personal gain, no matter how important that gain might be.
--Spock, "Journey to Babel"
Excalibur
2010-06-18 13:18:31 UTC
Permalink
Post by Luigi Rosa
L'unico svantaggio che vedo e' che continui ad aprire e chiudere delimitatori di
stringa e alla fine rischi di fare casino con i bilanciamenti dei delimitatori
nelle stringhe un po' complesse.
Nessuna controindicazione. E` la sintassi che io suggerisco sempre,
perche` la meno ambigua.
Grazie ad entrambi :)

Alfredo
Alessandro Pellizzari
2010-06-18 12:38:59 UTC
Permalink
Mi intrometto per chiedere un parere da autodidatta in PHP: Rispetto
all'utilizzo delle parentesi graffe ci sono controindicazioni, vantaggi,
svantaggi ad utilizzare questo tipo di sintassi?
echo "La squadra vincente è ".$row['squadra1']." con
".$row['punti1'].".";
Nessuna controindicazione. E` la sintassi che io suggerisco sempre,
perche` la meno ambigua.

Meglio ancora usare le virgolette singole (a cui mi sto abituando anche
io, dopo 20 anni di virgolette doppie... :)

Anzi, se sei nella parte "web" (nella view, per dirla in termini MVC),
consiglio

La squadra vincente è <?php echo $row['squadra1']; ?> con <?php echo $row
['punti1']; ?>.

Sempre nella parte view io "tollero" lo short tag <?= ?>. per esempio

La squadra vincente è <?= $row['squadra1']; ?> con <?= $row['punti1']; ?>.

Anche se diventa complicato quando hai a che fare con molti xml.

Bye.
Excalibur
2010-06-18 09:56:07 UTC
Permalink
Post by Luigi Rosa
Post by ValeRyo Saeba
Post by Luigi Rosa
Per me le parentesi graffe, non sono un problema, ma per chi ha la
tastiera italiana, povero lui!
E perché? sono le quadre con lo shift...
Quadre con lo shift e', appunto, la tastiera USA.
Per evitare contorsionismi con le dita (attualmente sono su una tastiera USA):

ALT+0125 -> }
ALT+0123 -> {
Massy
2010-06-19 02:14:54 UTC
Permalink
Post by ValeRyo Saeba
Post by Luigi Rosa
Per me le parentesi graffe, non sono un problema, ma per chi ha la
tastiera italiana, povero lui!
E perché? sono le quadre con lo shift...
Ho imparato una cosa nuova (io usavo ALT-123 e ALT-125)
Grazie!
GbMax78
2010-06-21 09:05:42 UTC
Permalink
Post by Luigi Rosa
1) Se usi i doppi apici come delimitatore di stringa, puoi includere le
variabili senza usare il concatenatore di stringa.Se usi, invece, gli apici
Perfetto grazie per la dritta ! :) Per dovere di cronaca l'errore non
era formale bensi' dell'editor di KDE che metteva degli apici diversi,
scrivendo il codice con l'editor semplice è andato tutto apposto !
Post by Luigi Rosa
2) Che editor stai usando per scrivere i sorgenti?
Come già accennato nell'oggetto del post sono ancora all'inizio e quindi
uso semplicemente l'editor di Debian Lenny, salvo il file e uploado in
ssh sul server un pò come ho fatto all'epoca dell'HTML a metà anni '90
con il notepad di Windows per poi passare a Dreamweaver, Flash etc.

Se hai tempo puoi anche consigliarmi qualche editor per Linux o MS ! :)

Saluti !
GbMax78
Luigi Rosa
2010-06-21 17:10:23 UTC
Permalink
Post by GbMax78
Se hai tempo puoi anche consigliarmi qualche editor per Linux o MS ! :)
Tu vuoi proprio scatenare una guerra! ;)

L'editor e' una di quelle cose che ciascun programmatore ritiene il proprio il
non plus ultra e gli altri una merda da pivelli che non sanno programmare.

Sotto Windows ci sono (in ordine alfabetico):
* Crimson Editor (gratis)
* Notepad++ (gratis)
* UltraEdit (a pagamento),

Sotto Linux c'e' vi :)





Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

A computer is like an Old Testament god, with a lot of rules and no mercy.
--Joseph Campbell
GbMax78
2010-06-21 19:09:55 UTC
Permalink
Post by Luigi Rosa
L'editor e' una di quelle cose che ciascun programmatore ritiene il proprio il
non plus ultra e gli altri una merda da pivelli che non sanno programmare.
Beh... credo che ognuno sia libero di dire la propria, a me serve solo
qualche nome come base di partenza poi, come ho fatto per le varie
distro di Linux, dopo aver provato tutto decido IO ! :)
Post by Luigi Rosa
* Crimson Editor (gratis)
* Notepad++ (gratis)
* UltraEdit (a pagamento),
Di questi conosco solo il Notepad "normale" e se non ricordo male
UltraEdit mi sembra d'averlo usato in passato per l'html...
Post by Luigi Rosa
Sotto Linux c'e' vi :)
Ma vi è vim ? Normalmente uso nano come editor sò che vim è molto
potente e complicato ma rimane sempre un semplice editor che non
evidenzia i tag...

Saluti !
GbMax78
Alessandro Pellizzari
2010-06-22 08:07:49 UTC
Permalink
Post by GbMax78
Ma vi è vim ? Normalmente uso nano come editor sò che vim è molto
potente e complicato ma rimane sempre un semplice editor che non
evidenzia i tag...
vim e` "VI iMproved".

Con tutta la buona volonta`, negli ultimi 14 anni ho cercato di usarlo,
ma e` troppo fuori da qualsiasi standard per capirlo. O vivi a pane e vi
o meglio lasciar perdere (e per emacs e` lo stesso).

Bye.
Luigi Rosa
2010-06-22 08:53:11 UTC
Permalink
Post by Alessandro Pellizzari
Con tutta la buona volonta`, negli ultimi 14 anni ho cercato di usarlo,
ma e` troppo fuori da qualsiasi standard per capirlo. O vivi a pane e vi
o meglio lasciar perdere (e per emacs e` lo stesso).
Vi sotto *NIX per me e' come l'aria. Inoltre non mette caratteri strani nei file
di testo (la qual cosa ci riconduce al messaggio padre di questo thread), cosa
fondamentale quando si editano alcuni file di configurazione.


Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

Never go to a doctor whose office plants have died.
--Erma Bombeck
Luigi Rosa
2010-06-22 08:55:10 UTC
Permalink
Di questi conosco solo il Notepad "normale" e se non ricordo male UltraEdit mi
sembra d'averlo usato in passato per l'html...
UltraEdit lo uso da anni (oltre dieci) ed e' uno dei pochi software che pago
volentieri per il servizio che mi rende.
Post by Luigi Rosa
Sotto Linux c'e' vi :)
Ma vi è vim ? Normalmente uso nano come editor sò che vim è molto potente e
complicato ma rimane sempre un semplice editor che non evidenzia i tag...
vim ha la colorizzazione dei sorgenti, ma dipende dalle distribuzioni che usi.
In CenOS/RedHat colorizza tranquillamente



Ciao,
luigi
--
/
+--[Luigi Rosa]--
\

I'm glad I was not born before tea.
--Sidney Smith (1771-1845)
RedWiz
2010-06-22 09:28:03 UTC
Permalink
Post by Luigi Rosa
Post by GbMax78
Ma vi è vim ? Normalmente uso nano come editor sò che vim è molto
potente e complicato ma rimane sempre un semplice editor che non
evidenzia i tag...
vim ha la colorizzazione dei sorgenti, ma dipende dalle distribuzioni
che usi. In CenOS/RedHat colorizza tranquillamente
beh dai, anche qualcosina di più!

filippo
2010-06-21 19:11:16 UTC
Permalink
Post by GbMax78
Se hai tempo puoi anche consigliarmi qualche editor per Linux o MS ! :)
Quanta.


ciao
Filippo B.
--
http://www.danzainsieme.it
http://www.boschetti.info
GbMax78
2010-06-21 19:40:56 UTC
Permalink
Post by filippo
Quanta.
Ho cercato un pò per la rete ed ho letto ottimi commenti, io utilizzo un
server con Squeeze dove ho tutto il pacchetto LAMP ed un notebook dove
ho installato solo il necessario per lavorare, ho notato che per far
andare Quanta occorra anche rendere la macchina LAMP è corretto ?

Saluti !
GbMax78
filippo
2010-06-22 05:47:38 UTC
Permalink
Post by GbMax78
Ho cercato un pò per la rete ed ho letto ottimi commenti, io utilizzo un
server con Squeeze dove ho tutto il pacchetto LAMP ed un notebook dove
ho installato solo il necessario per lavorare, ho notato che per far
andare Quanta occorra anche rendere la macchina LAMP è corretto ?
oddio... sulle macchine di sviluppo ho sempre installato apache+mysql
+php, quindi non saprei dirti se è un prerequisito. Comunque a meno di
risorse _veramente_ limitate, installare nel tuo ambiente di sviluppo i 3
sw citati ti permette di accelerare il processo produttivo: modifichi,
testi in locale, upload solo a prodotto finito. IMHO, naturalmente.

ciao
Filippo B
--
http://www.danzainsieme.it
http://www.boschetti.info
Continua a leggere su narkive:
Loading...