Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHP Episodio VII: El Despertar de la Fuerza
Search
César Suárez Ortega
February 24, 2016
Programming
1
220
PHP Episodio VII: El Despertar de la Fuerza
César Suárez Ortega
February 24, 2016
Tweet
Share
More Decks by César Suárez Ortega
See All by César Suárez Ortega
Symfony y concurrencia: el componente Lock
csuarez
0
860
Consumiendo una API REST con AngularJS
csuarez
0
260
Construyendo una API REST con Python y MongoDB
csuarez
0
240
Automatización de tareas con Ansible
csuarez
1
320
Procesanso datos con Hadoop: MapReduce y YARN
csuarez
0
300
Introducción a SCRUM
csuarez
0
220
Introducción a GIT
csuarez
1
150
Using CAD Systems and E-Learning in radiologist training
csuarez
0
69
CETA-CIEMAT: Salud + Investigación
csuarez
0
73
Other Decks in Programming
See All in Programming
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
How to use Macrobenchmark
veronikapj
0
160
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
coe401_
1
220
CSC307 Lecture 10
javiergs
PRO
0
310
유연한 Composable 설계
l2hyunwoo
0
380
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
CSC307 Lecture 07
javiergs
PRO
0
220
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
Advanced App Shrinking Techniques
cbeyls
2
150
Android開発者のための Kotlin Multiplatform入門
ntaro
0
190
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
Featured
See All Featured
Designing with Data
zakiwarfel
96
5k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
Agile that works and the tools we love
rasmusluckow
325
20k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
Rails Girls Zürich Keynote
gr2m
93
13k
Typedesign – Prime Four
hannesfritz
37
2.2k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
GitHub's CSS Performance
jonrohan
1026
450k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
How to Ace a Technical Interview
jacobian
274
23k
Become a Pro
speakerdeck
PRO
15
4.8k
Transcript
None
None
csuarez tharandur BEET.TECH
None
None
None
None
None
Novedades en PHP 5.x PHP 5.3 Namespaces: use keyword Closures
PHP 5.4 Traits Built-in server
Novedades en PHP 5.x PHP 5.5 Generators finally keyword PHP
5.6 Variadic functions: ... Keyword phpdbg
None
None
Hiphop HPHPc Compilador de PHP a C++ En tiempo de
ejecución (JIT compiler) HPHPi Intérprete para desarrollo Descontinuado
Hiphop vs PHP 5 http://php.webtutor.pl/en/2011/05/17/drupal-hiphop-for-php-vs-apc-benchmark/
None
hhvm Máquina virtual ¡No es un conversor de código! Compilador
JIT: PHP a byte code (HHBC) HHBC en código máquina x64 Optimización al vuelo Detección de zonas calientes
Hhvm vs hpHpC http://hhvm.com/blog/2027/faster-and-cheaper-the-evolution-of-the-hhvm-jit
Hhvm parity http://hhvm.com/blog/2813/we-are-the-98-5-and-the-16
Caso real: etSy https://codeascraft.com/2015/04/06/experimenting-with-hhvm-at-etsy/
Caso real: etSy https://codeascraft.com/2015/04/06/experimenting-with-hhvm-at-etsy/ La migración no es trivial Problemas
con las extensiones
Caso real: wikipedia https://blog.wikimedia.org/2014/12/29/how-we-made-editing-wikipedia-twice-as-fast/ Ahorro en infraestructuras Ayuda directa de
Facebook
None
Hack Superconjunto de PHP HHVM ejecuta Hack y PHP https://learnxinyminutes.com/docs/hack/
Hack
Hack
None
None
performance https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/
performance https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/
performance https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/
performance https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/
Scalar Type Hints <?php declare(strict_types=1); class ElePHPant { public $name,
$age, $cuteness, $evil; public function __construct(string $name, int $age, float $cuteness, bool $evil) { $this->name = $name; $this->age = $age; $this->cuteness = $cuteness; $this->evil = $evil; } }
ReturN Type Hints <?php function foo(): array { return [];
} function foo2(): DateTime { return null; // invalid } function &array_sort(array &$data): array { return $data; }
Spaceship operatoR // Si $a < $b devuelve -1 //
Si $a = $b devuelve 0 // Si $a > $b devuelve 1 function compare(int $a, int $b): int { return $a <=> $b; } unicode codePoint echo "\u{9999}"; //prints 香
Null coalesce operator $var = $value1 ?? $value2 ?? $value3;
Bind closure on Call $three = new Value(3); $four = new Value(4); $closure = function ($delta) { var_dump($this->getValue() + $delta); }; $closure->call($three, 4); // prints 7 $closure->call($four, 4); // prints 8
Group use declarations use Doctrine\Common\Collections\Expr\Comparison; use Doctrine\Common\Collections\Expr\Value; use Doctrine\Common\Collections\Expr\CompositeExpression; use
Doctrine\Common\Collections\Expr\{ Comparison, Value, CompositeExpression }; Anonymous classes $util->setLogger(new class { public function log($msg) { echo $msg; } });
Engine exceptions BaseException (abstract) ├── Exception extends BaseException ├── ErrorException
extends Exception └── RuntimeException extends Exception └── EngineException extends BaseException ├── TypeException extends EngineException ├── ParseException extends EngineException └── AssertionError extends EngineException
gracias