Articoli

L'estensione mysqli - II

In questa seconda parte riprenderemo alcune tecniche già esposte per approfondire diversi aspetti, in particolare vedremo come inviare a MySQL alcune opzioni per la connessione, analizzeremo inoltre la differenza tra query buffered ed unbuffered e vedremo come inviare query multiple. Infine elencheremo altre funzioni di uso comune. Con il primo articolo della serie dedicata all’estensione ext/mysqli abbiamo iniziato ad esplorare il nuovo set di funzioni ed oggetti messi a disposizione per l’interazione con MySQL 4.

PHP 5.1 - Note sull'aggiornamento

L’uscita di PHP 5.1 segna una piccola svolta nel percorso di PHP, non solo per le nuove funzionalità introdotte ma anche per alcune variazioni del comportamento del PHP Engine, il cuore di PHP, e per la riorganizzazione di diverse estensioni. Per aiutare lo sviluppatore ad orientarsi nei cambiamenti introdotti e rendere il passaggio alla nuova release meno traumatico, sul sito ufficiale di PHP è stata pubblicata una guida all’aggiornamento di cui riporto la traduzione.

Cronometriamo i nostri script

Sicuramente vi sarà capitato di vedere in un sito, magari in fondo ad una pagina, l’indicazione del tempo di esecuzione dello script che l’ha generata. Questa informazione, mostrata a volte solo per motivi estetici, può invece essere un buon indicatore dello stato di salute del nostro server o della pesantezza dei nostri script. Cronometrare uno script è molto semplice, vediamo come fare. Tutta la procedura si basa sulla funzione microtime() che ci fornisce l’istante corrente (UNIX timestamp) con una precisione al microsecondo.

AJAX in pratica

Il termine AJAX sta per Asynchronous JavaScript and XML ed indica una tecnica per la realizzazione di applicazioni web estremamente interattive. Si basa sulla possibilità di modificare l’HTML o il CSS di una pagina web attraverso l’uso di Javascript (DHTML) a seguito di una interrogazione del server web. Una tradizionale applicazione web prevede la costruzione di una pagina a seguito di ogni interrogazione del web server: l’utente richiede una pagina ed il server la invia al browser.

Evitare l'accesso diretto ad un file

Quando si realizza uno script PHP che prevede l’inclusione di diversi files è conveniente evitare che questi possano essere richiamati direttamente dall’utente. Il modo più semplice per ottenere tale risultato consiste nel posizionare tutti gli script da includere al di fuori della root del server web, cioè esternamente alla sua cartella principale. E se ciò non fosse possibile? Non tutti i fornitori di hosting infatti permettono di gestire files al di fuori della root.

Installazione di PHP su Internet Information Services

Chi ha detto che PHP gira solo su Apache? E' vero che la piattaforma LAMP (Linux - Apache - MySQL - PHP) è ormai uno standard de facto nella fornitura di servizi web basati su PHP ma diverse sono le esigenze che ci possono portare a preferire soluzioni basate su Windows e Internet Information Services. Infatti capita spesso che sviluppatori ASP o ASP.NET vogliano avvicinarsi al PHP. In questi casi risulta piuttosto scomodo far convivere IIS (necessario per l’esecuzione di script ASP) con Apache ed è quindi preferibile che Internet Information Services sia in grado di supportare anche il PHP.

Il passaggio delle variabili e la gestione dello stato

Quando si realizza un’applicazione per Internet, qualsiasi sia il linguaggio server-side che si andrà ad utilizzare, è estremamente importante affrontare con attenzione e consapevolezza quella che è la più significativa differenza tra la programmazione web e lo sviluppo di un normale software per computer desktop, ovvero la gestione dello stato. Un comune programma per computer deve interagire direttamente con un unico utente e può contare su un quantitativo di memoria generalmente abbondante e soprattutto sempre disponibile durante tutta la sua esecuzione.

Files ed immagini in MySQL

Spesso si ha la necessità di realizzare un sito che permetta all’utente di scaricare dei files. Altre volte invece bisogna realizzare delle gallerie di immagini. Nulla di particolarmente complicato, basta preparare delle pagine con dei classici links ai files in questione che avremo salvato sul server, magari in una apposita cartella, ed il gioco è fatto. E se volessimo rendere queste risorse accessibili solo a determinati utenti? In questo articolo vedremo come poter risolvere questo problema attraverso la memorizzazione dei files all’interno di MySQL.

Creare automaticamente l'introduzione di un testo

Spesso i siti web che contengono notizie, articoli e documenti di varia natura mostrano nella pagina principale una breve introduzione di questi contenuti che rimanda all’articolo completo. In molti casi questa introduzione viene scritta dallo stesso autore oppure è ottenuta prendendo i primi caratteri dell’articolo completo. Vediamo come realizzare questa tecnica cercando di renderla più raffinata. Il nostro scopo è quello di individuare il punto in cui è più opportuno tagliare il testo dell’articolo così da ottenere una introduzione.

Simulare l'overloading

Il PHP, essendo un linguaggio di scripting, concede allo sviluppatore una notevole libertà nella gestione e nell’utilizzo delle variabili. Contrariamente a quanto avviene in altri linguaggi, in PHP non è necessario definire una variabile e dichiarare il tipo prima di usarla. Questa agevolazione però ha anche degli svantaggi, ad esempio non è possibile realizzare in maniera nativa il sovraccarico (overloading) delle funzioni. Con PHP 5 però è possibile simulare l’overloading dei metodi di un oggetto attraverso l’uso del metodo speciale __call().