PHP. Trends, implementations, frameworks and solutions

Post on 06-May-2015

7,032 views 1 download

Tags:

transcript

Trends, implementations, frameworks and solutions

PHP

Stats

GitHub14.4M Repos

970K Issues

707K PRs

PHP new featuresNamespacesLate Static BindingTraitsArray short syntaxClosures scopes and $thisBuilt-in web serverGeneratorstry-catch FinallyPassword hashing API

SPDY

http://www.eschrade.com/page/magento-performance-on-php-5-3-5-4-and-5-5rc3/

Magento Benchmark

PHP-Fig Autoloading Code Style Logging Interface Doc Blocks Cache Interface

Autoloading

https://getcomposer.org/https://packagist.org/

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",

}

}

Zend Engine

Implementations

http://php.net/

HipHopVM

Implementations

http://hhvm.com/

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();}

KPHPImplementations

http://habrahabr.ru/post/214877

JPHP

Implementations

https://github.com/jphp-compiler/jphp

PHPPHP

Implementations

https://github.com/ircmaxell/PHPPHP

HippyVM

Implementations

http://hippyvm.com/

See also

http://phalconphp.com/en/http://zephir-lang.com/

http://www.php-cpp.com/

symfony1Started in 200567 releases~40k commitsEnd of livecycle Nov 2012

Symfony(2)First public commit 01-04-2010First Birthday 28-07-2011First LTS May 201373 releases~17k commits

GitHub stats11k Issues7k PRs8k Stars3k Forkshttps://github.com/symfony/symfony

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 MVChttp://fabien.potencier.org/article/49/what-is-symfony2

ComponentsHttpFoundationRoutingSecurityYamlHttpKernel

http://symfony.com/components

DependencyInjectionEventDispatcherFormValidatorTemplating

Symfony Basics<?php use Symfony\Component\HttpFoundation\Request; $kernel = new AppKernel('prod', false);$request = Request::createFromGlobals();$response = $kernel->handle($request);$response->send();

What about “M”?Doctrine2

Doctrine2RDBMSMongoDBCouchDBOXMOrientDB

https://github.com/doctrine

PHP frameworksLaravel (4)ZendZend2YiiYii2KohanaCakePHPCodeIgniter

http://ellislab.com/blog/entry/ellislab-seeking-new-owner-for-codeigniter

Symfony productsDrupal

phpBB

Laravel

Magento

eZ Publish

http://symfony.com/projects

Symfony productsRedKite CMSSymfony CMFDecoupled CMSSylius eCommerceVespoline eCommerceOro CRMAkeneo PIM (wat?)

http://symfony.com/projects

RedKite CMS

http://redkite-labs.com/

Symfony CMF

http://cmf.symfony.com/

Decoupled CMS

http://decoupledcms.org/

PHP Content RepositoryJSR 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/

Sylius

http://sylius.org/http://sylius.com/

Vespolina

http://vespolina.org/

Oro CRM

http://www.orocrm.com/

Akeneo

http://www.akeneo.com/

A Product Information Management aka PIM, PCM or Products MDM

Akeneo

http://www.akeneo.com/

and growing...

http://symfony.com/projects

Questions?