Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHP. Trends, implementations, frameworks and solutions

PHP. Trends, implementations, frameworks and solutions

It's all about Symfony2 solutions

Oleg Zinchenko

April 28, 2014
Tweet

More Decks by Oleg Zinchenko

Other Decks in Programming

Transcript

  1. PHP new features Namespaces Late Static Binding Traits Array short

    syntax Closures scopes and $this Built-in web server Generators try-catch Finally Password hashing API
  2. composer.json { "name": "symfony/framework-standard-edition", "license": "MIT", "type": "project", "description": "The

    \"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/", "SymfonyStandard": "app/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "2.5.x-dev", "doctrine/orm": "~2.2,>=2.2.3", "doctrine/doctrine-bundle": "~1.2", … } }
  3. Hack Lang http://hacklang.org/ <?hh class MyClass { public function alpha():

    int { return 1; } public function beta(): string { return 'hi test'; } } function f(MyClass $my_inst): string { // Fix me! return $my_inst->alpha(); }
  4. GitHub stats 11k Issues 7k PRs 8k Stars 3k Forks

    https://github.com/symfony/symfony
  5. What is Symfony? Reusable set of standalone, decoupled PHP components

    Based on components Symfony is a full-stack framework Symfony is an HTTP framework Request/Response framework Non MVC http://fabien.potencier.org/article/49/what-is-symfony2
  6. Symfony Basics <?php use Symfony\Component\HttpFoundation\Request; $kernel = new AppKernel('prod', false);

    $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send();
  7. PHP frameworks Laravel (4) Zend Zend2 Yii Yii2 Kohana CakePHP

    CodeIgniter http://ellislab.com/blog/entry/ellislab-seeking-new-owner-for-codeigniter
  8. Symfony products RedKite CMS Symfony CMF Decoupled CMS Sylius eCommerce

    Vespoline eCommerce Oro CRM Akeneo PIM (wat?) http://symfony.com/projects
  9. PHP Content Repository JSR based (JSR-170/283) PHPCR is bucket of

    interfaces Implementations: Jackalope, Midgard2 Storages: Jackrabbit Doctrine-DBAL Doctrine-MongoDB Prismic.io http://phpcr.github.io/ http://jackalope.github.io/ http://midgard-project.org/phpcr/ https://jackrabbit.apache.org/ https://prismic.io/