| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| informatique:php [04/10/2021 19:27] – [Cron] Crunz cyrille | informatique:php [18/10/2025 10:08] (Version actuelle) – [Console] cyrille |
|---|
| * [[http://julien-pauli.developpez.com/|Les cours de Julien Pauli]] sur developpez.com sont très pertinents (sécurité, ZendFramework, ...). | * [[http://julien-pauli.developpez.com/|Les cours de Julien Pauli]] sur developpez.com sont très pertinents (sécurité, ZendFramework, ...). |
| * [[http://g-rossolini.developpez.com/tutoriels/php/5.3/|Les nouveautés de PHP 5.3]] | * [[http://g-rossolini.developpez.com/tutoriels/php/5.3/|Les nouveautés de PHP 5.3]] |
| | |
| | |
| | PHP8 Attributes |
| | * https://stitcher.io/blog/attributes-in-php-8 |
| | * https://github.com/TWithers/laravel-php-attributes |
| | |
| | |
| |
| [[/informatique/php/Build Win32|Compiler PHP et PECL pour Windows]] | [[/informatique/php/Build Win32|Compiler PHP et PECL pour Windows]] |
| |
| Installer Php/Apache/Mod_SSL : voir [[:informatique:apache]] | |
| | Installer différentes versions de Php grâce au [[https://launchpad.net/~ondrej/+archive/ubuntu/php|dépôt de Ondřej Surý]] (un développeur Debian) : |
| | <code> |
| | sudo apt install software-properties-common |
| | sudo add-apt-repository ppa:ondrej/php |
| | sudo apt update |
| | </code> |
| |
| ===== Application Frameworks ===== | ===== Application Frameworks ===== |
| ==== Dans les plus connus ==== | ==== Dans les plus connus ==== |
| |
| | * [[informatique:php:laravel_1|Laravel]] |
| | * [[/informatique/php/symfony|Symfony]] |
| * [[http://framework.zend.com|Zend Framework]] : [[/informatique/php/Zend Framework]], [[wpfr>Zend Framework]], [[http://zend-framework.developpez.com/|ZF sur Developpez.com]] | * [[http://framework.zend.com|Zend Framework]] : [[/informatique/php/Zend Framework]], [[wpfr>Zend Framework]], [[http://zend-framework.developpez.com/|ZF sur Developpez.com]] |
| * [[http://www.symfony-project.org/|Symfony]] : [[/informatique/php/Symfony|Symfony]], [[wpfr>Symfony]] | |
| * Prado | * Prado |
| * [[/informatique/php/laravel|Laravel]] The PHP Framework For Web Artisans. | * [[informatique:php:laravel_1|Laravel]] The PHP Framework For Web Artisans. |
| * [[http://mouf-php.com|Mouf]] | * [[http://mouf-php.com|Mouf]] |
| * [[http://codeigniter.com/user_guide/toc.html|CodeIgniter]] | * [[http://codeigniter.com/user_guide/toc.html|CodeIgniter]] |
| * [[http://ezcomponents.org|eZComponents]] et maintenant en incubation par ASF [[http://incubator.apache.org/zetacomponents|Apache Zeta Components]] | * [[http://ezcomponents.org|eZComponents]] et maintenant en incubation par ASF [[http://incubator.apache.org/zetacomponents|Apache Zeta Components]] |
| * [[http://cakePhp.org|CakePHP]] : [[wpfr>CakePHP]] | * [[/informatique/php/CakePHP]] : [[wpfr>CakePHP]] |
| * [[http://www.copix.org|Copix]] : [[wpfr>Copix]] | * [[http://www.copix.org|Copix]] : [[wpfr>Copix]] |
| |
| Les generators "[[https://www.php.net/manual/en/language.generators.syntax.php|generator function]]" permettent d'**économiser de la mémoire** lors d'une itération. Au lieu d'accumuler dans un ''tableau'' le résultat d'une fonction, avec ''yield'' les valeurs sont retrournées au fil de l'itération. | Les generators "[[https://www.php.net/manual/en/language.generators.syntax.php|generator function]]" permettent d'**économiser de la mémoire** lors d'une itération. Au lieu d'accumuler dans un ''tableau'' le résultat d'une fonction, avec ''yield'' les valeurs sont retrournées au fil de l'itération. |
| * [[https://scotch.io/tutorials/understanding-php-generators|Understanding PHP Generators]] | * [[https://scotch.io/tutorials/understanding-php-generators|Understanding PHP Generators]] |
| | * [[https://doeken.org/blog/coroutines-in-php|Exploring Coroutines in PHP]] |
| | ===== Syntaxe ===== |
| | |
| | Les closures et les classes anonymes |
| | * [[https://www.php.net/manual/en/language.oop5.anonymous.php|Php OOP Anonymous classes]] |
| | * [[https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours/oriente-objet-closure-classe-anonyme/|Les closures et les classes anonymes en PHP objet]] par Pierre Giraud |
| | |
| | |
| | |
| ===== Outillage ===== | ===== Outillage ===== |
| |
| |
| Eclipse plugin: [[http://phpsrc.org/|PHP Tool Integration (PTI)]] | Eclipse plugin: [[http://phpsrc.org/|PHP Tool Integration (PTI)]] |
| | |
| | [[/informatique/php|AOP]] Aspect Oriented Programming avec Php |
| | |
| ==== phpUnderControl ==== | ==== phpUnderControl ==== |
| |
| ==== Debug with Eclipse/PDT and Zend Debugger ==== | ==== Debug with Eclipse/PDT and Zend Debugger ==== |
| |
| Voir [[:informatique:eclipse:pdt|Eclipse PDT]] | Voir [[informatique:ide:eclipse:pdt|Eclipse PDT]] |
| |
| config XDebug dans le php.ini : | config XDebug dans le php.ini : |
| |
| [[http://carbon.nesbot.com/|Carbon]] a simple PHP API extension for DateTime. | [[http://carbon.nesbot.com/|Carbon]] a simple PHP API extension for DateTime. |
| | |
| | ==== Console ==== |
| | |
| | * https://github.com/yannoff/console |
| | * A lightweight, simple alternative to symfony/console, designed for easy PHP applications development. |
| | * Aucune dépendence |
| |
| ==== Cron ==== | ==== Cron ==== |
| | |
| | === crunz === |
| |
| https://github.com/lavary/crunz | https://github.com/lavary/crunz |
| * Install a cron job once and for all, manage the rest from the code | * Install a cron job once and for all, manage the rest from the code |
| * Crunz is capable of executing any kind of executable command as well as PHP closures | * Crunz is capable of executing any kind of executable command as well as PHP closures |
| | |
| | Ce package semble bien géré et pérenne ;-) |
| |
| ==== Validation ==== | ==== Validation ==== |
| === PDF Parser === | === PDF Parser === |
| |
| http://pdfparser.org/ | |
| |
| Une lib très simpliste pour extrait des éléments d'un PDF. C'est une sur-couche simplifiant l'API de TCPDF | |
| |
| | * http://pdfparser.org/ |
| | * Une lib très simpliste pour extrait des éléments d'un PDF. C'est une sur-couche simplifiant l'API de TCPDF |
| | * https://github.com/smalot/pdfparser |
| | * is a standalone PHP package that provides various tools to extract data from PDF files. |
| |
| === mPDF === | === mPDF === |
| === xmlrpc-epi-php === | === xmlrpc-epi-php === |
| |
| ==== Divers ==== | ==== Html & DOM scraper ==== |
| |
| === eZComponents Workflow=== | === Simple HTML DOM === |
| |
| http://ezcomponents.org/docs/tutorials/Workflow | https://packagist.org/packages/voku/simple_html_dom |
| |
| The Workflow component provides a virtual machine that executes workflows represented through object graphs. These object graphs can be created programmatically through the software component's Workflow Definition API. Alternatively, a workflow definition can be loaded from an XML file. Object graph and XML file are two different representations of a workflow definition that uses a backend language built on the workflow patterns. | === php-html-parser === |
| |
| [[http://ezcomponents.org/docs/api/trunk/Workflow_theoretical_background.html|eZ Components - Workflow - Theoretical Background]] | https://packagist.org/packages/paquettg/php-html-parser |
| | |
| | |
| ===php_uploadprogress=== | |
| | |
| Une extension PECL en C qui permet de suivre la progression d'un upload (An extension to track progress of a file upload).\\ | |
| http://pecl.php.net/package/uploadprogress | |
| | |
| See http://cvs.php.net/viewvc.cgi/pecl/uploadprogress/examples/ for a little example.\\ | |
| It is only known to work on Apache with mod_php, other SAPI implementations unfortunately still have issues. | |
| At least PHP 5.2 is needed. | |
| | |
| Articles : | |
| * [[http://blog.liip.ch/archive/2009/06/20/upload-progress-meter-1-0-1-released.html|Upload Progress Meter 1.0.1 released]] by Christian Stocker @ 29.06.2009 | |
| * [[http://blog.liip.ch/archive/2006/09/28/upload-progress-meter-extension-for-php-5-2.html|Upload Progress Meter extension for PHP 5.2]] by Christian Stocker @ 31.03.2009 | |
| * [[http://blog.liip.ch/archive/2009/03/31/upload-progress-meter-common-issues-and-some-answers.html|Upload Progress Meter - Common issues and some answers]] by Christian Stocker @ 31.03.2009 | |
| * [[http://blog.liip.ch/archive/2009/03/09/upload-progress-meter-for-windows-the-next-take.html|Upload Progress Meter for Windows - The next take]] by Christian Stocker @ 13.03.2009 | |
| * [[http://blog.liip.ch/archive/2009/01/10/uploadprogress-0-9-2-released.html|Upload Progress Meter extension 0.9.2 released]] by Christian Stocker @ 22.01.2009 | |
| * [[http://blog.liip.ch/archive/2006/12/05/upload-progress-meter-for-windows.html|Upload Progress Meter for Windows]] by Christian Stocker @ 06.12.2006 | |
| * [[http://blog.liip.ch/archive/2006/12/12/upload-progress-meter-finally-in-pecl.html|Upload Progress Meter finally in PECL]] by Christian Stocker @ 05.12.2006 | |
| |
| === Goutte === | === Goutte === |
| </code> | </code> |
| |
| | |
| | |
| | |
| | ==== Divers ==== |
| | |
| | === eZComponents Workflow=== |
| | |
| | http://ezcomponents.org/docs/tutorials/Workflow |
| | |
| | The Workflow component provides a virtual machine that executes workflows represented through object graphs. These object graphs can be created programmatically through the software component's Workflow Definition API. Alternatively, a workflow definition can be loaded from an XML file. Object graph and XML file are two different representations of a workflow definition that uses a backend language built on the workflow patterns. |
| | |
| | [[http://ezcomponents.org/docs/api/trunk/Workflow_theoretical_background.html|eZ Components - Workflow - Theoretical Background]] |
| | |
| | |
| | ===php_uploadprogress=== |
| | |
| | Une extension PECL en C qui permet de suivre la progression d'un upload (An extension to track progress of a file upload).\\ |
| | http://pecl.php.net/package/uploadprogress |
| | |
| | See http://cvs.php.net/viewvc.cgi/pecl/uploadprogress/examples/ for a little example.\\ |
| | It is only known to work on Apache with mod_php, other SAPI implementations unfortunately still have issues. |
| | At least PHP 5.2 is needed. |
| | |
| | Articles : |
| | * [[http://blog.liip.ch/archive/2009/06/20/upload-progress-meter-1-0-1-released.html|Upload Progress Meter 1.0.1 released]] by Christian Stocker @ 29.06.2009 |
| | * [[http://blog.liip.ch/archive/2006/09/28/upload-progress-meter-extension-for-php-5-2.html|Upload Progress Meter extension for PHP 5.2]] by Christian Stocker @ 31.03.2009 |
| | * [[http://blog.liip.ch/archive/2009/03/31/upload-progress-meter-common-issues-and-some-answers.html|Upload Progress Meter - Common issues and some answers]] by Christian Stocker @ 31.03.2009 |
| | * [[http://blog.liip.ch/archive/2009/03/09/upload-progress-meter-for-windows-the-next-take.html|Upload Progress Meter for Windows - The next take]] by Christian Stocker @ 13.03.2009 |
| | * [[http://blog.liip.ch/archive/2009/01/10/uploadprogress-0-9-2-released.html|Upload Progress Meter extension 0.9.2 released]] by Christian Stocker @ 22.01.2009 |
| | * [[http://blog.liip.ch/archive/2006/12/05/upload-progress-meter-for-windows.html|Upload Progress Meter for Windows]] by Christian Stocker @ 06.12.2006 |
| | * [[http://blog.liip.ch/archive/2006/12/12/upload-progress-meter-finally-in-pecl.html|Upload Progress Meter finally in PECL]] by Christian Stocker @ 05.12.2006 |
| |
| |