WordPress e WooCommerce sarebbero nulla senza PHP. Sviluppo e customizzazione non esisterebbero. L’unicità di ogni sito non sarebbe possibile.
Ecco, senza PHP “you go nowhere” e nel talk partiremo letteralmente da zero per poi cercare di capire le basi del PHP e come utilizzarlo per modificare un sito WordPress/WooCommerce.
PHP è difficile solo per ricordarsi il significato dell’acronimo – per il resto è un linguaggio di programmazione divertente, intuitivo e allo stesso tempo… pericoloso. Basta dimenticarsi un punto e virgola e l’intero sito può andare offline
Lo scopo di questo talk sarà convincere i non programmatori a provare a scrivere un paio di righe di PHP anziché scaricare “yet another plugin”. Se ci sono riuscito io che non sono un programmatore…
WordPress e WooCommerce sarebbero nulla senza PHP. Sviluppo e customizzazione non esisterebbero. L’unicità di ogni sito non sarebbe possibile.
Ecco, senza PHP “you go nowhere” e nel talk partiremo letteralmente da zero per poi cercare di capire le basi del PHP e come utilizzarlo per modificare un sito WordPress/WooCommerce.
PHP è difficile solo per ricordarsi il significato dell’acronimo – per il resto è un linguaggio di programmazione divertente, intuitivo e allo stesso tempo… pericoloso. Basta dimenticarsi un punto e virgola e l’intero sito può andare offline
Lo scopo di questo talk sarà convincere i non programmatori a provare a scrivere un paio di righe di PHP anziché scaricare “yet another plugin”. Se ci sono riuscito io che non sono un programmatore…
Videocorso in italiano su Udemy!
https://www.udemy.com/corso-linux-per-sviluppatori-web-lamp-apache-php-mysql/?couponCode=SLIDES10
- Installare un server linux
- Lavorare con la linea di comando
- Gestione gruppi, utenti e permessi
- Bash scripting
- Espressioni regolari
- Apache, NGnix &Https
- Installare PHP & MySql
- Cron e crontab
Master: Amministratore Linux - Livello Base
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Con un approccio pratico, e ricco di esempi semplici per illustrare bene i concetti, impara le basi del linguaggio di scripting Bash, ormai divenuto uno standard de facto in termini di scripting di shell (Shell Scripting).
La presentazione si compone di 12 lezioni / capitoli:
1 - Introduzione
2 - Primi passi
3 - Variabili
4 - Array
5 - Aritmetica
6 - Test
7 - Costrutti condizionali
8 - Cicli iterativi
9 - Funzioni
10 - Quoting
11 - Terminare uno script
12 - Debugging
Per un totale di 98 diapositive
A simple introduction to the Python programming language. In Italian. OLD: superseeded by Pycrashcourse 3.1.
Originally presented during the Networking class of the Computer Science course at the University of Parma
Videocorso in italiano su Udemy!
https://www.udemy.com/corso-linux-per-sviluppatori-web-lamp-apache-php-mysql/?couponCode=SLIDES10
- Installare un server linux
- Lavorare con la linea di comando
- Gestione gruppi, utenti e permessi
- Bash scripting
- Espressioni regolari
- Apache, NGnix &Https
- Installare PHP & MySql
- Cron e crontab
Master: Amministratore Linux - Livello Base
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Con un approccio pratico, e ricco di esempi semplici per illustrare bene i concetti, impara le basi del linguaggio di scripting Bash, ormai divenuto uno standard de facto in termini di scripting di shell (Shell Scripting).
La presentazione si compone di 12 lezioni / capitoli:
1 - Introduzione
2 - Primi passi
3 - Variabili
4 - Array
5 - Aritmetica
6 - Test
7 - Costrutti condizionali
8 - Cicli iterativi
9 - Funzioni
10 - Quoting
11 - Terminare uno script
12 - Debugging
Per un totale di 98 diapositive
A simple introduction to the Python programming language. In Italian. OLD: superseeded by Pycrashcourse 3.1.
Originally presented during the Networking class of the Computer Science course at the University of Parma
2. Il problema della gestione delle dipendenze affligge da tempo qualsiasi sviluppatore che non voglia reinventare la ruota. Questo problema può essere affrontato da due punti di vista: quello dello sviluppatore che ha bisogno di usare una libreria e quello dello sviluppatore che ha creato la propria libreria e vuole distribuirla
3. Una prima possibile soluzione al problema è: scaricare i sorgenti della libreria e installarli a mano. Questa soluzione ovviamente è molto scomoda e ha molti difetti: difficoltà di manutenzione, difficoltà di replicazione, difficoltà o impossibilità di versionamento. È stata mostrata solo per motivi "storici"
4. PEAR è stato per molto tempo lo standard de facto per la gestione delle librerie. Il suo problema principale era nella necessità di dover installare le librerie a livello di sistema, mentre spesso è necessario gestire versioni diverse su progetti diversi. Un altro problema è che è rimasto poco sviluppato e ancorato alla compatibilità con PHP4
5. Un altra possibile soluzione è la gestione delle dipendenze nel sistema di versioanmento: externals per subversion, submoduli per git, eccetera. Difetti di questo approccio: lo sviluppatore di librerie dovrebbe tenere un repository per ogni sistema, l'utilizzatore è costretto a gestire in contemporanea aggiornamenti delle revisioni del suo progetto e aggiornamenti delle librerie
6. Un approccio più recente e interessante è stato quello adottato da Symfony 2.0, cioè uno script di gestione scritto ad hoc. Purtroppo non era in grado di gestire le dipendenze indirette ed era legato strettamente a git
8. Il primo passo per usare Composer è installarlo. La procedura è molto semplice, trattandosi di uno script PHP da linea di comando: basta scaricare l'installer ed eseguirlo. Non obbligatorio, ma consigliato, spostare l'eseguibile sotto a un percorso incluso in $PATH. Pper sistemi non Unix-compatibili... non lo so! Arrangiatevi
9. L'installazione delle librerie è facile: basta eseguire il comando seguito dal parametro "install". Occorre però preparare un file di configurazione
10. Questo esempio di file di configurazione di Composer è tratto da Symfony Standard Edition, con alcune righe tagliate per questioni di spazio.
11. Vediamo ora un esempio su come pubblicare la propria libreria, tratta da un caso reale; un bundle per Symfony2 creato sotto PUGX. Il primo passo è quello di pubblicare il progetto su github
12. Questo è il file composer.json del bundle, con le sue dipendenze e le impostazioni per l'autoloading
13. Il passo successivo consiste nel pubblicare la libreria su Packagist, configurando le impostazioni relative all'integrazione con github
14. Tutto qui! Come direbbe il Principe, è fatta! Non serve niente di più di questo, è molto facile e consente di gestire dipendenze a cascata.
15. Ma se io avessi l'esigenza di usare una libreria che non è open source e quindi non posso mettere su github? Si possono impostare altri reposi
Lightning talk apresentada no MeetUp PHPRS subseção Canela/Gramado no dia 26/11/2016 - hotel Klein Ville de Canela (RS):
http://www.meetup.com/pt-BR/PHP-RS/events/234978772/
These are my slide from talk at PHPDay in Verona 20014.
Forget about classic website where UX is not so important. We are living in time where usability is one of the important thing if you are building some business client oriented web service. In locastic we are working on CRM that is based on Symfony2 as backend and AngularJS as frontend solution.
How to connect this two frameworks? What are best practices? What are disadvantageous? How to take best from both worlds? These are topics I will cover in my talk with real examples.
The PHP 7 release is just around the corner, bringing some much-desired changes and improvements to the language. However, many developers simply aren't aware of what's coming. We'll remedy this by checking out the new "spaceship operator," demonstrating how static type hints produce clean code, and using anonymous classes to quickly implement interfaces on the fly. Attendees will also learn about breaking changes and "gotchas" to watch out for when making the upgrade and will receive pointers on getting started with PHP 7 today.
Oggi possiamo finalmente lasciarci alle spalle l’idea di dover utilizzare PHP per lo sviluppo web. Durante la presentazione verrà spiegato un semplice workflow che utilizzo per lavorare con Python, Flask, SQLite, Apache e Git per ridurre i bug, semplificare il codice e ottimizzare i tempi di deployment.
Questo intervento ha fatto parte del Linux Day 2017.
Il video è disponibile qui: https://youtu.be/0Rwd75iHZN4
Il testing delle applicazioni MVC Zend Framework è spesso visto come una sorta di stregoneria, ma tutto sommato non lo è. In questo seminario web vedremo cosa e come testare, i pattern più comuni per il testing e le possibili difficoltà che si possono incontrare. Verranno trattati inoltre alcuni elementi di base su PHPUnit in modo da fornire concetti fondamentali per l’operatività anche a chi non è esperto di testing.
Sviluppare un plugin WordPress da zero - WordCamp Bologna 2018Marco Chiesi
Se sei un programmatore interessato a WordPress ma non hai mai sviluppato un plugin, il WordCamp Bologna è l’occasione giusta per iniziare. Seguendo questo talk introduttivo avrai modo di scoprire i concetti di base, le convenzioni, le buone pratiche, le misure di sicurezza, l’architettura e le principali funzionalità messe a disposizione dalla piattaforma. In questo modo potrai riuscire a muovere i primi passi nel mondo dello sviluppo WordPress e a orientarti meglio in mezzo all’enorme mole di materiale informativo disponibile in rete.
La tecnica di programmazione ad eventi ormai è diventata sempre più diffusa ed utilizzata in molti linguaggi di programmazione, si vuole quindi analizzare come questo tipo di programmazione viene utilizzata nei diversi linguaggi di programmazione. Poichè php ancora non supporta questo tipo di programmazione si mostrerà come in realtà è molto semplice implementare un oggetto che utilizzi la programmazione ad eventi. Verranno quindi messi in evidenza i vantaggi di questa tecnica in termini di riusabilità del codice scritto. Una volta compreso il meccanismo della programmazione ad eventi verrà presentata una semplice classe per la gestione di una generica coda di messaggi. Una volta presentata la teoria, quindi si vedrà come si possono mettere in pratica queste tecniche apprese, per lo sviluppo di una semplice applicazione web, che utilizzi sia la coda dei messaggi, sia gli eventi.
Handling RESTful API requests with Laravel PHP Framework resource controllers is already very easy. With Laravel 5, handling request routing has been made even easier by using a configuration-as-annotation approach. Controller annotations may take advantage of doc block-style syntax and then be compiled using Laravel's artisan command-line tool. I'll present this approach by providing a few examples and discussing some of the pros and cons.
RESTful APIs are useful when developing a modern web application since they allow for multiple possibilities for collaboration with third-party software as well as multiple types of front-ends, such as mobile apps and HTML5 web applications. The creation of RESTful API’s is facilitated using Laravel 4, a PHP 5.3 Framework that is rapidly growing in popularity. Laravel’s features such as the facade pattern allow for easy-to-read code and expressive ORM statements.
17. Ma siccome i tempi cambiano….
(Come, per esempio, usare sempre
Comic Sans per slides)
18. Hello PHP 7
● La performance è migliorata: PHP 7 è fino a due volte più veloce di PHP 5.6
● Supporto per 64-bit
● Molti fatal errors sono ora degli Exceptions
● SAPI ed estensioni vecchi e non supportati sono stati rimossi
● L'operatore null coalescing (??)
● L'operatore del "combined comparison" (detto anche "spaceship operator" (<=>)
● Le dichiarazioni dei Return Type
● Le dichiarazioni degli Scalar Type
● Classi anonimi
20. I seguenti tipi da usare per i parametri possono ora essere forzati:
● string (string)
● integer (int)
● floating-point number (float) nota bene: non numero con la virgola galleggiante
● boolean (bool)
Scalar types
21. ...aumentano i altri tipi che sono stati introdotti in PHP 5:
● class names
● interfaces
● array
● callable
Scalar types (cont.d)
23. <?php
declare(strict_types=1);
// ^^^^^^^^^^^^^^ modalità strict
function sumOfInts(int ...$ints)
{
return array_sum($ints);
}
var_dump(sumOfInts(2, '3', 4.1));
risultato: PHP Fatal error: Uncaught TypeError: Argument 2 passed to
sumOfInts() must be of the type integer, string given, called in...
Scalar types: esempio "strict"
24. <?php
// modalità Coercitivo
function sumOfInts(int ...$ints) : int
{
return array_sum($ints);
}
var_dump(sumOfInts(2, '3', 4.1));
//risultato: int(9)
Scalar return types: esempio coercitivo
25. <?php
declare(strict_types=1);
// ^^^^^^^^^^^^^^ modalità strict
function sumOfInts(int ...$ints) : int
{
return array_sum($ints);
}
var_dump(sumOfInts(2, 3, 4)); // int, int, int
//risultato: int(9)
Scalar return types: esempio "strict"
26. <?php
declare(strict_types=1);
// ^^^^^^^^^^^^^^ modalità strict
function sumOfInts(int ...$ints) : string
{
return array_sum($ints);
}
var_dump(sumOfInts(2, 3, 4)); // int, int, int
risultato: PHP Fatal error: Uncaught TypeError: Return value of sumOfInts() must
be of the type string, integer returned
Scalar return types: esempio "strict"