venerdì 31 agosto 2012

Abilitare XDebug in XAMPP. Perchè? Voglio fare del debug con NetBeans 7.2

XAMPP è il notissimo sistema all-in-one che installa e configura Apache, PHP e MySQL particolarmente apprezzato da chi sviluppa, e non solo, per preparare a tale ambiente una macchina con pochi clic.

XDebug però non è immediatamente disponibile, infatti installato l'amato editor NetBeans 7.2 e XAMPP, non è possibile avviare una sessione di debug con l'apposito pulsante.

In realtà XDebug è già presente in XAMPP, solo che è disabilitato. Vediamo quindi come fare per attivarlo:

venerdì 3 agosto 2012

PHP 5.4, XDebug e NetBeans 7.2: Abilitare il debug con il built-in Web Server di php 5.4

Ho fatto vedere nel post "NetBeans 7.2 ed il built-in Web Server di PHP 5.4" (si consiglia di leggerlo prima di proseguire) come sia facile sfruttare il built-in Web Server di PHP 5.4 per sviluppare le proprie applicazioni web con l'IDE NetBeans 7.2 senza dover installare un completo e pesante web server. Ora che abbiamo l'ambiente configurato di certo sarà necessario poter fare un po' di debug sulle nostra applicazioni PHP con XDebug.

giovedì 2 agosto 2012

PHP 5.4: I Traits

I Traits (tratto in italiano), sono implementati a partire da PHP 5.4, e sono realizzati quale metodo per il riuso del codice.

Il sistema dell'ereditarietà della classi di PHP permette ad un classe genitrice, o superclass, di avere zero, una o più classi figlie, o subclass. Al contrario ogni classe può essere figlia di al più una classe genitrice. Alcune delle limitazioni dovute a questo tipo di gestione dell'ereditarietà, per altro molto diffusa in diversi linguaggi di programmazione, possono essere ridotte grazie ai Trait, che permettono il libero riutilizzo di insiemi di metodi in classi diverse appartenenti a diverse gerarchie.

Un Trait è per certi versi simile ad una classe, ma andrebbe utilizzato solo per raggruppare funzionalità di granularità fine e in modo consistente. Un Trait diversamente da una classe non può essere istanziato, ma è un'aggiunta all'ereditarietà tradizionale che permette una composizione orizzontale di comportamenti; ossia l'applicazione di membri della classe senza necessitare dell'ereditarietà.

NetBeans 7.2 ed il built-in Web Server di PHP 5.4


Il nuovo PHP 5.4 integra un piccolo web server al suo interno espressamente dedicato per lo sviluppo. In questo modo non si è obbligati ad installare un Server Web completo, ma è possibile sfruttare questa versione ridotta per alleggerire il nostro ambiente di sviluppo ed operare con maggiore facilità.

Potremo quindi limitarci ad installare un DBMS come MySQL, l'IDE NetBeans 7.2 e scompattare il nostro PHP 5.4. Per ciò che riguarda il PHP non bisogna fare altro che scaricare l'achivio ZIP dal sito di php.net e scompattarne il contenuto in una cartella di propria scelta. Infine rinominare il file php.ini-development in php.ini affinché sia utilizzato come file di configurazione dal motore di PHP. Ai fini di questo tutorial è sufficiente avere PHP e NetBeans.

giovedì 19 luglio 2012

Appunti OOP: Paradigmi di programmazione

In questi appunti si analizza il supporto minimo richiesto ai linguaggi di programmazione per i vari paradigmi di programmazione

  • Procedurale
  • Modulare
  • Tipo di Dato Astratto
  • Orientata agli oggetti
evidenziando come ognuno sia naturale evoluzione dell'altro.

mercoledì 18 luglio 2012

Preparare NetBeans per scrivere programmi C, C++, Fortran e Assembler

25/03/2021 Attenzione, NetBeans di Apache sta iniziando a supportare C/C++ dalla versione 12.1 (settembre 2020) mentre nelle precedenti non è disponibile nulla. Il supporto è embrionale, quindi è consigliabile scaricare la varsione 8.2 di NetBeans. Appena ci sarà qualcosa di meglio realizzato lo descriverò.
 
Aggiornato il 11/12/2014 con note per NetBeans 8.0.2 e cygwin più recente

L'installazione e configurazione in Windows di NetBeans per la scrittura di codice C/C++, è un'attività estremamente semplice e richiede pochi minuti.

Procurarsi l'IDE NetBeans per C/C++ o scaricare il plugin

Per prima cosa occorre procurarsi l'IDE NetBeans dedicato al C/C++ dalla pagina di download (il vecchio link reindirizza ad apache - il nuovo link diretto 28/05/2021 a NetBeans 8.2 con JDK 8u111). In alternativa, qualora si disponga di NetBeans sul proprio PC, è possibile scaricare il solo plugin per il C/C++.

martedì 17 luglio 2012

NetBeans & MySQL: Collegare NetBeans a MySQL

NetBeans agevola nella scrittura del codice. Ma può aiutare anche nella scrittura di query SQL con il suo auto cmpletion, oltre a fornire dei comodi strumenti di gestione per i database. Per farlo però ha bisogno di essere collegato ad un DB Server, come MySQL, da cui recupera le informazioni su tabelle e campi.

Nota 22/03/2021: se si cerca un post per il collegamento di MySQL 8 con NetBeans 12, è disponibile un post più recente e aggiornata. Le cose sono abbastanza simili a quelle descritte qui. Per la registrazione di un Server MySQL 8 in NetBeans 12 è disponibile un altro post.

Collegare NetBeans a MySQL

venerdì 13 luglio 2012

OpenOffice & MySQL: Connettere OpenOffice ad un DataBase via JDBC

A volte può capitare di voler accedere ad un database MySQL attraverso OpenOffice, predisponendo dei formulari per la consultazione/modifica o dei report, sfruttando quanto messo a disposizione da OpenOffice Base.

Per poterlo fare però occorre fare in modo che OpenOffice possa accedere al DB MySQL sfruttandolo come sorgente esterna di dati. Procedere quindi come segue:

martedì 10 luglio 2012

PHP & NetBeans: Introduzione ad Ajax per Applicazioni Web PHP

Questo articolo è una personale traduzione di un posto originariamente presente su NetBeans.org ed ora su Apache.org. in fondo alla pagina i link agli articoli originali in inglese.

Questo documento fornisce una introduzione ad Ajax e dimostra alcune delle caratteristiche di NetBeans che permettono di programmare più velocemente ed efficientemente quando si lavora con tecnologia Ajax. Mentre apprendi le funzionalità base di Ajax, costruirai una semplice applicazione che impiega l'auto-completamento in un campo di testo. I contenuti sono stati adattati da articolo ed esempio di Greg Murray Using Ajax with Java Technology.


Ajax sta per Asynchronous JavaScript and XML. Ajax è essenzialmente un modo efficiente per una pagina web di gestire l'interazione con l'utente - un modo per ridurre il bisogno di aggiornare o ricaricare l'intera pagina ad ogni interazione dell'utente. Ciò permette un comportamento ottimale (simile a quello di una applicazione desktop o di una applicazione web basata su plug-in) utilizzando un browser. Le interazioni Ajax sono gestite in modo asincrono e in background. Mentre avviene, l'utente può continuare a lavorare sulla pagina. Le interazioni Ajax sono avviate da codice JavaScript. Quando l'interazione Ajax è completa, JavaScript aggiorna il sorgente HTML della pagina. I cambiamenti sono fatti immediatamente senza richieder un aggiornamento della pagina. Le interazioni Ajax possono essere utilizzate per fare cose quali la validazione dei dati di un form (mentre l'utente inserisce i dati) utilizzando logiche lato server, recuperare dati dettagliati dal server, aggiornare dinamicamente la data sulla pagina, e inviare moduli parziali dalla pagina.
Contenuti
  • Panoramica dell'Applicazione
  • Programmare Lato Client: Parte 1
    • Utilizzare l'Editor HTML
    • Utilizzare l'Editor JavaScript
  • Programmare Lato Server
    • Creare l'Archivio Dati
    • Creare la Logica di Business
  • Programmare Lato Client: Parte 2
    • Aggiungere la Funzionalità di Callback
    • Aggiornare il DOM HTML
    • Agganciare un Foglio di Stile
  • Conclusione

PHP & NetBeans: Template di codice in NetBeans per PHP


I template di codice sono frammenti di codice precedentemente scritti, forniti dall'IDE. puoi incollare un frammento nel tuo codice utilizzando code completion o l'abbreviazione del template seguita dal tasto Tab. Puoi anche racchiudere il tuo codice con un appropriato frammento PHP. Infine, puoi definire i tuoi template. Questo tutorial mostra come utilizzare i template e suggerisce utili casi per la definizione dei propri.

Contenuti
Content on this page applies to NetBeans IDE 6.9-7.0
  • Template di Codice PHP Definiti
  • Utilizzare i Template di Codice PHP
    • Espandere il template utilizzando l'abbreviazione + Tab
    • Inserire il template con code completion 
    • Incorporare il codice in un template 
    • Editare i parametri nei template espansi
  • Sintassi dei Template di Codice PHP 
    • Nome del segnaposto 
    • Nomi riservati 
    • Parametro definito da suggerimento 
  • Creare i Propri Template 
    • Caso d'uso: Inserire PHP in HTML 
    • Caso d'uso: Joomla 
    • Caso d'uso: Connessione a MySQL
    • Caso d'uso: Action nel controller di Zend 
    • Caso d'uso: Elemento modulo di Zend 

lunedì 9 luglio 2012

PHP & NetBeans: Debug di codice sorgente PHP con NetBeans

Mi sono preso la briga di tradurre questo post originariamente ospitato nu NetBeans.org ed ora da Apache perchè spiega bene come fare il debug di progetti PHP con NetBeans. In fondo il link all'articolo originale in lingua inglese.
Contenuti

  • Pronti a Partire
  • Come lavora il debugger PHP in NetBeans con XDebug
  • Opzioni di Debug
  • Lavorare con la ToolBar e L'Editor
  • Finestre del Debugger
  • Sessione di Debug
  • Esempio di Sessione di Debug
  • Utilizzare Watches Aggiuntivi
  • Casi in cui PHP e HTML sono Mescolati
  • Mappatura, Debugger Proxy e Avvio della Sessione di Debug su un URL Personalizzato

giovedì 21 giugno 2012

FileMaker Pro: Limitare l'accesso al record

In ufficio mi è arrivata una richiesta particolare e specifica. Dato un DB FileMaker Pro, fare in modo che gli utenti di dominio Active Directory (vedi Come configurare FileMaker Server per il SSO su Microsoft Active Directory) potessero accedervi via IWP (Istant Web Publishing), limitando la possibilità di modifica ad un solo record specifico dell'utente.

FileMaker ha una gestione degli account e privilegi molto potente e completa, ma nulla che possa far controllare l'accesso ai record. Probabilmente perché i record non sono elementi di definizione della base dati. Per realizzare tale caratteristica ho quindi proceduto nel seguente modo:

Appunti OOP: Cause di riprogettazione

A cosa stare attenti quando si progettano delle classi al fine di evitare di trovarsi nei guai successivamente:

  1. Creare oggetti specificando in modo esplicito una classe.
    Il problema consiste nel legare il progetto ad una specifica implementazione di una classe piuttosto che ad una interfaccia. Quindi, dovendo cambiare per una qualche ragione la classe soggetta a istanza è obbligo modificare tutti i punti in cui sono creati gli oggetti di tale classe e codice del client, qualora l'interfaccia (intesa come metodi pubblici esposti dalla classe) della nuova classe differisca dalla vecchia. 

lunedì 11 giugno 2012

Calcolo delle competizioni senza ripetizioni con massimo riposo - La Patch (Parte2/2)

E' vero che l'algoritmo consente il massimo riposo, ma tale riposo è garantito solo per la prima squadra estratta dalla sequenza. La seconda è scelta partendo dalla più, fino alla meno riposata, purché non abbia ancora giocato una partita con la prima estratta. Man mano che le partite si esauriscono esiste la possibilità che una squadra si trovi a dover competere in partite adiacenti. Nella maggior parte dei casi tale anomalia non si verifica, e quando si verifica  presenta una o due ricorrenze nella sequenza delle partite.
Esempio di anomalia a 6 squadre

martedì 5 giugno 2012

Calcolo delle competizioni senza ripetizioni con massimo riposo (Parte1/2)

Curiosando su un forum mi è capitato d'imbattermi in un quesito simpatico (demo soluzione con codice visionabile). Si chiedeva come calcolare l'ordine degli incontri/partite giocate su un solo campo e in una sola giornata permettendo alle squadre/concorrenti di riposare il più possibile tra un incontro e l'altro.

Non conoscendo una soluzione, ho pensato bene di prendere carta e matita e iniziare a cercare un metodo manuale per risolvere il problema. Ho quindi stilato l'elenco degli incontri necessari nel caso di 6 squadre ottenendo:
Elenco di tutte le possibili partite a 6 squadre

venerdì 11 maggio 2012

FileMaker Pro Server e Microsoft Active Directory: Servizio di Directory e SSO (Single Sign On) (Parte 2/2)


Nel post precedente hai visto come registrare nel servizio di directory il FileMaker Pro Server e come fare in modo che i client possano individuare i server che ospitano FileMaker Pro Server sfruttando tale servizio. Ora manca solo di vedere come permettere ai database FileMaker (file con estensione .fp7) di autenticare gli utenti tramite SSO (Single Sign On).

FileMaker Pro Server e Microsoft Active Directory: Servizio di Directory e SSO (Single Sign On) (Parte 1/2)


Cos'è il SSO? Dal portale MSDN di Microsoft abbiamo:
Si parla di sistema basato su “Single Sign On” (SSO) quando le richieste di autenticazione non vengono direttamente gestite dal sistema stesso ma vengono ridirette verso un’altro sistema di autenticazione che ha precedentemente certificato le credenziali dell’utente connesso, senza quindi avere la necessità di richiedere nuovamente le credenziali per l’accesso.

lunedì 30 aprile 2012

Introduzione al PHP: Gli Array - Accesso e Modifica

Hai visto fin ora come creare un array, la struttura dati principale all'interno del linguaggio PHP. Vedrai ora gli elementi base per la manipolazione di queste strutture dati.

Accedere ad un elemento
Il modo più semplice di accedere ad un elemento di un array è tramite la sua chiave. Supponi di avere l'array:

$mioArray = array( "Nome"=>"Ciro", "Cognome"=>"Pellegrino", "Indirizzo"=>array("Topo"=>"Via", "Strada"=>"Duca degli Abruzzi", "Civico"=>"25", "CAP"=>"72100", "Città"=>"Brindisi", "Prov"=>"BR"));

Introduzione al PHP: Gli Array - Inizializzare (Parte 2/2)

PHP fornisce un nutrito numero di funzioni per la manipolazione degli array. Fra queste ci sono delle funzioni per la creazione di array che sono range(), array_fill_keys() e array_fill().

La funzione range()
La funzione range consente di ottenere un array di valori adiacenti ovvero distanti un certo passo, specificando il solo valore iniziale e il limite sueriore/inferiore (a seconda che il limite sia maggiore o minore del valore iniziale). Qualora la funzione non riesca a portare a termine l'operazione produce un Warning e ritorna false. La sintassi è:

Introduzione al PHP: Gli Array - Inizializzare (Parte 1/2)

Gli array PHP sono strutture che associano ad
una chiave un valore
Gli array di PHP non sono array nel senso classico del termine. In PHP gli array sono strutture dati che creano un'associazione tra una chiave (di tipo int o stringa) e un valore, che può appartenere ad uno degli otto dati primitivi ivi compreso un array, dando luogo ad array multidimensionali. Non c'è obbligo che i dati contenuti in un array siano omogenei (dello stesso tipo), così come non c'è obbligo che le chiavi siano tutte dello stesso tipo ma possono alternarsi chiavi numeriche a chiavi stringa e dati di tipo diverso nello stesso array.

domenica 29 aprile 2012

Introduzione al PHP: Il parsing delle variabili nei letterali stringa

I letterali stringa tra doppi apici, come anche i blocchi di testo che si comportano come letterali stringa tra doppia apici senza i doppi apici, possono accogliere al loro interno il nome di variabili. Tali variabili sono valutate in fase d'interpretazione del letterale, e il nome sostituito con il relativo contenuto. Per l'integrazione di variabili nei letterali stringa esistono due sintassi. La sintassi semplice permette con poco sforzo di inserire una variabile in un letterale stringa. Ad esempio:

$numero = 10;
$stringa = "Ti ho pensato $numero volte";

venerdì 27 aprile 2012

Introduzione al PHP: Letterali Stringa (Parte 2/2)

Letterali stringa come blocchi di testo

Esiste infine un altro modo di rappresentare un letterale stringa tramite l'operatore <<< seguito da un identificatore e da un invio. Tutto ciò che segue è interpretato come letterale stringa fino a quando non viene trovato su una nuova linea, posizionato in prima colonna un'altro identificatore uguale al primo. Tutto quanto posto fra le due etichette è il letterale stringa.

Introduzione al PHP: Letterali Stringa (Parte 1/2)

Un letterale stringa è una sequenza di caratteri racchiusi tra apice singolo o doppio apice. A seconda del tipo di apice utilizzato, singolo o doppio, cambia il modo in cui il letterale è interpretato da PHP.

//I due letterali producono lo stesso risultato
$stringa1 = "Hello World!";
$stringa2 = 'Hello World!';

Letterale fra singolo apice

Nel caso di letterale stringa fra apice singolo, i caratteri sono interpretati così come sono, e codificati secondo il charset del file sorgente. Fa eccezione il back slash (\ detto anche carattere di escape) se seguito da un altro back slash o da un apice singolo. Abbiamo quindi le seguenti sequenze di escape:

sabato 21 aprile 2012

Introduzione al PHP: Letterali NULL, Boolan, Resource e Object

Per il tipo null, l'unico valore letterale ammesso è null (case-insensitive). Si ricorda che per verificare se una variabile è NULL, occorre utilizzare la funzione is_null(). Sebbene siano considerate null anche una variabile passata come argomento alla funzione unset() e le variabili non inizializzare (quindi inesistenti), queste se utilizzate con la funzione is_null() producono un errore di tipo Notice. D'altra parte l'utilizzo della funzione isset() su una variabile NULL ritorna false.

Introduzione al PHP: Letterali in Virgola Mobile

Un letterale in virgola mobile può essere espresso nel formato decimale come un segno (+ o -), opzionale, seguito da una sequenza numerica in cui può essere presente un punto decimale a dividere la parte intera dalla parte decimale. Opzionalmente si può inserire una parte esponenziale formata da "e" o "E", un segno + o - opzionale e la sequenza di cifre che costituiscono l'esponente.

Introduzione al PHP: Letterali Interi


Valori Letterali
Un letterale è la rappresentazione del codice sorgente di un valore fisso; i letterali sono rappresentati direttamente nel tuo codice senza richiedere calcoli. E' possibile assegnare un letterale ad una variabile:
$int = 1000;

venerdì 20 aprile 2012

Introduzione al PHP: Tipi di Dato Primitivi

Il linguaggio di programmazione PHP non è a tipizzazione forte, il che significa che tutte le variabili non hanno bisogno di essere dichiarate prima di poter essere utilizzate e nel momento in cui le si utilizza possono contenere qualunque tipo di dato. Ciò significa che se desideriamo utilizzare una variabile ci basta inizializzarla, per esempio:
$eta=25;

mercoledì 18 aprile 2012

Introduzione al PHP: Nomi di Variabili

Ogni linguaggio di programmazione ha il proprio insieme di regole e convenzioni per i tipi di nomi permessi, e il linguaggio PHP non è differente.

Le regole e convenzione per i nomi delle variabili possono essere riassunte come segue:
  • I nomi delle variabili sono case-sensitive. Un nome di variabile può essere qualunque identificatore valido – sequenza illimitata di lettere (a-z A-Z), sottolineatura(_), simboli (codice ASCII da 127 a 255) e cifre (0-9), che iniziano con il simbolo dollaro “$” seguito da una lettera o sottolineatura.

martedì 17 aprile 2012

Introduzione al PHP: Variabili

Come hai avuto modo di vedere nel post Cos'è una Classe, un oggetto memorizza il proprio stato nei campi.

private $pedalata = 0;
private $velocita = 0;
private $marcia   = 1;

Nonostante questa piccola introduzione ai campi, hai sicuramente delle domande del tipo:
  • Quali sono regole e convenzioni per i nomi delle variabili? 
  • Esistono dei tipi di dati per le variabili? 
  • È assegnato un valore di default alle variabili non esplicitamente inizializzate? 

Concetti di OOP: Cos'è un'Interfaccia

Come già discusso nel post Cos'è un Oggetto, gli oggetti definiscono la loro interazione con il mondo esterno tramite i metodi che espongono. I metodi costituiscono l’interfaccia dell’oggetto con il mondo esterno; i bottoni sul tuo televisore, per esempio, sono l’interfaccia tra te e gli elementi elettrici di là dell’involucro in plastica. Premendo il bottone di accensione, il televisore si accende e spegne.

Concetti di OOP: Cos'è l'Ereditarietà

Tipi differenti di oggetti hanno spesso una parte comune gli uni con gli altri. Le mountain bike, le biciclette da corsa e i tandem, per esempio, condividono le caratteristiche delle biciclette (velocità, cadenza, marcia). In più ognuna ha delle caratteristiche proprie che la rendono differente: il tandem ha due posti e due manubri; la bicicletta da corsa ha il manubrio curvo; qualche mountain bike ha un anello addizionale per la catena, che le conferisce un rapporto di trasmissione più basso.

Concetti di OOP: Cos’è una Classe?

Nel mondo reale, trovi spesso singoli oggetti, tutti dello stesso tipo. Ci sono migliaia di altre biciclette in circolazione, tutte dello stesso produttore e modello. Tutte le biciclette sono state realizzate dallo stesso insieme di stampi e perciò contengono gli stessi componenti. In termini object-oriented, diciamo che la tua bicicletta è un’istanza della classe di oggetti conosciuti come biciclette. Una classe è uno stampo da cui sono creati i singoli oggetti.
La seguente classe Bicicletta è una possibile implementazione per una bicicletta:

lunedì 16 aprile 2012

Concetti di OOP: Cos'è un Oggetto

Negli esempi dei post di questo blog, ho intenzione di servirmi il più possibile della OOP. 
Se non hai mai utilizzato prima un linguaggio di programmazione object-oriented, hai bisogno di apprendere i concetti base prima di poter iniziare a scrivere del codice. Con questo post e i successivi 3 voglio fornire una introduzione ai concetti di oggetti, classi, ereditarietà, interfacce. Ogni argomento mostra come questi concetti siano in relazione con il mondo reale, mentre si fornisce un'introduzione alla sintassi del linguaggio di programmazione PHP.

Cos'è un Oggetto?

Gli oggetti sono la chiave per comprendere la tecnologia object-oriented. Guardati intorno ora e vedrai molti esempi di oggetti del mondo reale: un cane, la scrivania, la televisione, una bicicletta.

giovedì 12 aprile 2012

Introduzione al PHP: Come funziona il PHP in una pagina Web

Prima di tutto chiariamo cosa è PHP:
PHP (acronimo ricorsivo che sta per PHP: Hypertext Preprocessor) è un linguaggio di scripting open source per scopi generici, ampiamente diffuso e particolarmente adatto alla produzione di software web incorporandolo nel codice HTML.
La richiesta del Client
Se stai seguendo i miei post dai meno recenti in poi (come un libro) hai di certo creato il tuo primo progetto NetBeans denominato LocalHelloWorld. Iniziamo col chiarire come funziona una richiesta di un client (un browser web) per una pagina web del tipo http://localhost/LocalHelloWorld/index.php.
  1. Il client (browser web) lancia la sua richiesta al server (computer) sulla porta 80 (protocollo HTTP) per avere accesso al file index.php presente nella cartella LocalHelloWorld del server.
  2. La richiesta è intercettata dal Web Server Apache, in ascolto sulla porta 80, che rendendosi conto che è richiesto un file sorgente PHP, trasferisce tale richiesta al motore di scripting PHP per l'elaborazione.
  3. Il motore di scripting PHP accede al filesystem del computer e letto il file sorgente richiesto (index.php) ne esegue il contenuto.
  4. Da questo momento e fino al termine dell'esecuzione del contenuto del file index.php, a seconda delle istruzioni contenute ed eseguite, PHP ha accesso a risorse quali il filesystem del server, Basi Dati come MySQL, risorse di rete, ecc.. Durante tale esecuzione PHP produce dell'output (tipicamente codice HTML) che è restituito ad Apache.
  5. Apache, ottenuto l'output da motore di scripting PHP, provvede a inviarlo al client.

EasyPHP e Workbench: Apache e MySQL come servizi - Creare l'istanza DBA in Workbench

Workbench non crea l'istanza di
Server Administration se
MySQL non è un servizio
Per poter utilizzare MySQL Workbench come DBA (DB Administration) occorre che il server MySQL sia avviato come servizio, altrimenti Workbench non potrà creare una istanza dedicata a tale scopo. EasyPHP di default avvia il server MySQL come applicativo sul PC e non come servizio.

Anche Apache è avviato come semplice applicativo e ciò provoca alcuni problemi.
Abilitazione estensione PHP

martedì 10 aprile 2012

PHP & NetBeans: Creare un Progetto PHP con NetBeans su un Server Locale

Supponendo che l'ambiente locale di sviluppo sia stato installato come esposto nel post "Preparare Rapidamente l'Ambiente di Sviluppo", la creazione di nuovi progetti PHP in NetBeans è una attività che richiede pochi semplici passi:

Preliminarmente assicurati di aver avviato EasyPHP (Start|Tutti i programmi|EasyPHP 5.3.9|EasyPHP 5.3.9), con Apache e MySQL che mostrano un semaforo verde facendo doppio clic sulla "e" di EasyPHP presente nel vassoio di notifica. Avvia quindi NetBeans del menu Start|Tutti i programmi|NetBeans|NetBeans IDE 7.1.1. In NetBeans procedia come segue:

MySQL Workbench: lo strumento per Sviluppatori e Amministratori di DB

Pagina Web di MySQL Workbench
Workbench è un'ambiente integrato per la modellazione e progettazione di Database MySQL, lo sviluppo e test di query SQL, e per le attività di DB Administration.

Per avere MySQL Workbench sul proprio PC, andare alla pagina di Download, selezionare il proprio sistema operativo (nel mio caso Windows) e scaricare l'installazione MSI (Microsoft Installer). Se si desidera poter utilizzare MySQL Workbench, senza installarlo sul PC, scaricare la versione ZIP Archive. Scompattarla dove si desidera ed avviare workbench.exe

domenica 8 aprile 2012

PHP & NetBeans: Creare un Progetto PHP con NetBeans su Server Remoto come Altervista.org

E' stato discusso nel post "PHP & NetBeans: Preparare rapidamente l'ambiente di sviluppo" come preparare un ambiente di sviluppo sul proprio PC. In più abbiamo creato anche un primo progetto ponendolo in esecuzione. Ciò al fine di testare l'ambiente locale di sviluppo appena installato. A volte si potrebbe desiderare sviluppare direttamente su un server remoto. La soluzione è simpatica e comoda per chi fa piccoli lavori in solitaria e dispone di un collegamento flat.

giovedì 5 aprile 2012

PHP & NetBeans: Preparare rapidamente l'ambiente di sviluppo

Un metodo rapidissimo per preparare un ambiente di sviluppo per PHP, ovverosia che preveda le tre componenti base Apache, MySQL e PHP è senza ombra di dubbio quello di rivolgersi a pacchetti preconfezionati tipo XAMPP o EasyPHP. Ciò che però mi fa preferire EasyPHP è il suo essere già pronto ad un ambiente di sviluppo integrando Xdebug. E' quindi su EasyPHP che concentreremo l'attenzione.