Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHP Episodio VII: El Despertar de la Fuerza
Search
César Suárez Ortega
February 24, 2016
Programming
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP Episodio VII: El Despertar de la Fuerza
César Suárez Ortega
February 24, 2016
More Decks by César Suárez Ortega
See All by César Suárez Ortega
Symfony y concurrencia: el componente Lock
csuarez
0
1.2k
Consumiendo una API REST con AngularJS
csuarez
0
400
Construyendo una API REST con Python y MongoDB
csuarez
0
360
Automatización de tareas con Ansible
csuarez
1
400
Procesanso datos con Hadoop: MapReduce y YARN
csuarez
0
380
Introducción a SCRUM
csuarez
0
370
Introducción a GIT
csuarez
1
270
Using CAD Systems and E-Learning in radiologist training
csuarez
0
150
CETA-CIEMAT: Salud + Investigación
csuarez
0
160
Other Decks in Programming
See All in Programming
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
180
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
170
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
130
Kotlinの15年とServer-Side Kotlin
n_takehata
1
140
速習iPhone Duo対応
yuukiw00w
2
980
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
250
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.1k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
470
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
We Are The Robots
honzajavorek
0
400
The Mindset for Success: Future Career Progression
greggifford
PRO
0
530
Balancing Empowerment & Direction
lara
6
1.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
320
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Navigating Weather and Climate Data
rabernat
0
550
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
A designer walks into a library…
pauljervisheath
211
25k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
700
Tell your own story through comics
letsgokoyo
1
1.1k
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