PHP : TROLLONS, MAIS TROLLONS BIEN!
QUI SUIS-JE ?
Arnaud Langlade (@_aRn0D)
Développeur PHP/Symfony
@CleverAge
Core team member @Sylius
(et bientôt @akeneo)
POURQUOI CE TALK ?!?
Polo : Quel langage, utilises tu ?
Arnaud : PHP, mon polo!
Polo :
OUI, EN PHP ON A VU ... (PHP4)
require 'lib/function.php';
if (isset($_GET['page']))
{
    echo "<html>";
    include($_GE...
On est d'accord, ça ne donne pas envie...
MAIS ÇA ÉVOLUE ! DEPUIS UN MOMENT DÉJÀ...
AMÉLIORATION DU MODE OBJET (PHP5)
namespace Bdd/Common;
use Bdd/Common/Connection as BaseConnection;
class Connection exte...
AMÉLIORATION DU MODE OBJET (PHP7)
declare(strict_types = 1);
namespace Bdd/Common;
use Bdd/Common/Connection as BaseConnec...
LA DELOREAN EST EN MARCHE...
Mélange procédural et d'objet (mais
gros gap entre PHP4 et PHP7)
L'api est très bien document...
LA COMMUNAUTÉ EST LÀ ET ELLE...
LA COMMUNAUTÉ
La communauté s'est bien diversifiée (il y'a de très bons développeurs)
Les projets open source demandent un...
PHP FRAMEWORK INTEROP GROUP (PHPFIG)
Regroupe des acteurs majeurs du monde PHP (Sf, Zf, eZ, Doctrine, etc.)
Parle des prob...
LES NORMES PSR (PHP STANDARD RECOMMENDATION)
PSR0 et PSR4 : Chargement des classes
PSR1 et PSR2 : Style du code
PSR3 : Ges...
INDUSTRIALISATION DE PHP
Gestionnaire de dépendences :
Composer
/^(|micro) framework$/: Symfony,
Laravel, Zend, Yii, Slim,...
POUR FINIR
Ce n'est pas un langage qui
fait un développeur mais la
façon dont il l'utilise.
PHP et sa communauté
évolue da...
MERCI! QUESTIONS ?
Arnaud Langlade
Twiter @_aRn0D
Github @aRn0D
Nächste SlideShare
Wird geladen in …5
×

Php trollons-mais-trollons-bien (Bdx.io 2015)

1.520 Aufrufe

Veröffentlicht am

Depuis des années PHP souffre d’une mauvaise réputation. Beaucoup de personnes ont tendance à dire que c’est un mauvais langage. Il est vrai que ce langage a des défauts mais depuis quelques années il a vraiment évolué. Lors de ce lightning, je vais vous montrer comment en abordant la programmation orienté objet ainsi que les nombreux outils permettant l’industrialisation de ce langage.

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.520
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
198
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Php trollons-mais-trollons-bien (Bdx.io 2015)

  1. 1. PHP : TROLLONS, MAIS TROLLONS BIEN!
  2. 2. QUI SUIS-JE ? Arnaud Langlade (@_aRn0D) Développeur PHP/Symfony @CleverAge Core team member @Sylius (et bientôt @akeneo)
  3. 3. POURQUOI CE TALK ?!? Polo : Quel langage, utilises tu ? Arnaud : PHP, mon polo! Polo :
  4. 4. OUI, EN PHP ON A VU ... (PHP4) require 'lib/function.php'; if (isset($_GET['page'])) {     echo "<html>";     include($_GET['page'].'.php');     echo "</html>"; } class Connection {     var $dsn;     function connection()     {         // ...     } }
  5. 5. On est d'accord, ça ne donne pas envie...
  6. 6. MAIS ÇA ÉVOLUE ! DEPUIS UN MOMENT DÉJÀ...
  7. 7. AMÉLIORATION DU MODE OBJET (PHP5) namespace Bdd/Common; use Bdd/Common/Connection as BaseConnection; class Connection extends BaseConnection implements     ConnectionInterface,     ContainerAwareInterface {     use ConnectionTrait;     const TYPE = 'my_sql';     private $dsn = null; // Peut être public ou protected     public function __construct(array $config)     {/*...*/}     final public function query(Criteria $criteria)     {/*...*/} }
  8. 8. AMÉLIORATION DU MODE OBJET (PHP7) declare(strict_types = 1); namespace Bdd/Common; use Bdd/Common/Connection as BaseConnection; class ConnectionFactory implements ConnectionFactoryInterface {     public function create(string $dsn) : Connection     {         try {             return new Connection($dsn);         } catch (TypeError $e) {             // Une partie des erreurs Fatales sont transformées en Error             echo $e­>getMessage();         }     } }
  9. 9. LA DELOREAN EST EN MARCHE... Mélange procédural et d'objet (mais gros gap entre PHP4 et PHP7) L'api est très bien documentée (et internationalisée) La core team a défini un processus de release (RFC + Vote) Communauté vaste, expérimentée et organisée (User group, conférence)
  10. 10. LA COMMUNAUTÉ EST LÀ ET ELLE...
  11. 11. LA COMMUNAUTÉ La communauté s'est bien diversifiée (il y'a de très bons développeurs) Les projets open source demandent une bonne qualité de code (design et tests) De nombreuse librairies sont disponibles ( )packagist.org
  12. 12. PHP FRAMEWORK INTEROP GROUP (PHPFIG) Regroupe des acteurs majeurs du monde PHP (Sf, Zf, eZ, Doctrine, etc.) Parle des problématiques communes à chaque projet Création des PHP Standard Recommendation (PSRs)
  13. 13. LES NORMES PSR (PHP STANDARD RECOMMENDATION) PSR0 et PSR4 : Chargement des classes PSR1 et PSR2 : Style du code PSR3 : Gestion des logs PSR7 : Messages HTTP
  14. 14. INDUSTRIALISATION DE PHP Gestionnaire de dépendences : Composer /^(|micro) framework$/: Symfony, Laravel, Zend, Yii, Slim, Silex, etc... Framework de tests : PhpUnit, Atoum, Behat ou bien PhpSpec. Intégration continue: PHP_CodeSniffer, PHP_Depend/PHPMD, PHPCPD, PhpDependencyAnalysis etc...
  15. 15. POUR FINIR Ce n'est pas un langage qui fait un développeur mais la façon dont il l'utilise. PHP et sa communauté évolue dans le bon sens même si le langage n'est pas parfait.
  16. 16. MERCI! QUESTIONS ? Arnaud Langlade Twiter @_aRn0D Github @aRn0D

×