| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| informatique:php [26/12/2022 07:54] – [Goutte] 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]] |
| 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 ==== |
| |
| |
| [[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 ==== |
| |
| ==== Html & DOM scraper ==== | ==== Html & DOM scraper ==== |
| | |
| | === Simple HTML DOM === |
| | |
| | https://packagist.org/packages/voku/simple_html_dom |
| | |
| | === php-html-parser === |
| | |
| | https://packagist.org/packages/paquettg/php-html-parser |
| | |
| | === Goutte === |
| | |
| | Goutte is web crawling library for PHP. Goutte fourni un client programmable pour lire et interagir sur des pages html/xml. |
| | |
| | http://github.com/fabpot/Goutte |
| | |
| | <code php> |
| | // Require the Goutte phar file to use Goutte in a script: |
| | require_once '/path/to/goutte.phar'; |
| | // Create a Goutte Client instance: |
| | $client = new Client(); |
| | // Make requests |
| | $crawler = $client->request('GET', 'http://www.symfony-project.org/'); |
| | // Click on links: |
| | $link = $crawler->selectLink('Plugins')->link(); |
| | $crawler = $client->click($link); |
| | // Submit forms: |
| | $form = $crawler->selectButton('sign in')->form(); |
| | $crawler = $client->submit($form, array('signin[username]' => 'fabien', 'signin[password]' => 'xxxxxx')); |
| | //Extract data: |
| | $nodes = $crawler->filter('.error_list'); |
| | if ($nodes->count()) |
| | { |
| | die(sprintf("Authentification error: %s\n", $nodes->text())); |
| | } |
| | printf("Nb tasks: %d\n", $crawler->filter('#nb_tasks')->text()); |
| | </code> |
| | |
| | |
| |
| |