com presentations: New attribute syntax: slides/internals/php80-attributes-after.xml slides/internals/php80-attributes-attribute-definition.xml slides/internals/php80-attributes-use-cases.xml

[email protected] (Derick Rethans) Tue, 08 Sep 2020 08:55:23 +0000
Newsgroups php.pres
Message-ID <[email protected]>
Commit:    31fda81e8791ccc09c4a8a946f022c838f3c1df2
Author:    Derick Rethans <[email protected]>         Tue, 8 Sep 2020 09:55:23 +0100
Parents:   b905529e252186a28b0f2fe54ee5c7a6d679d313
Branches:  master

Link:       http://git.php.net/?p=presentations.git;a=commitdiff;h=31fda81e8791ccc09c4a8a946f022c838f3c1df2

Log:
New attribute syntax

Changed paths:
  M  slides/internals/php80-attributes-after.xml
  M  slides/internals/php80-attributes-attribute-definition.xml
  M  slides/internals/php80-attributes-use-cases.xml


Diff:
diff --git a/slides/internals/php80-attributes-after.xml b/slides/internals/php80-attributes-after.xml
index 44329c1e..59053f1b 100644
--- a/slides/internals/php80-attributes-after.xml
+++ b/slides/internals/php80-attributes-after.xml
@@ -5,24 +5,24 @@
 &lt;?php
 use Doctrine\ORM\Attributes as ORM;
 
-*@@ORM\Entity*
+*#[ORM\Entity]*
 class Distillery
 {
-    *@@ORM\Id*
-    *@@ORM\Column("string")*
+    *#[ORM\Id]*
+    *#[ORM\Column("string")]*
     private $name;
 }]]>
 </example>
 
 <div effect="fade-in">
 <example inline="2" class="big"><![CDATA[
-    @@*ORM\Column*("string") // Class Name]]>
+    #[*ORM\Column]*("string") // Class Name]]>
 </example>
 </div>
 
 <div effect="fade-in">
 <example inline="2" class="big"><![CDATA[
-    @@ORM\Column(*"string"*) // Constructor Arguments]]>
+    #[ORM\Column](*"string"*) // Constructor Arguments]]>
 </example>
 </div>
 
diff --git a/slides/internals/php80-attributes-attribute-definition.xml b/slides/internals/php80-attributes-attribute-definition.xml
index ce85ddc3..3ee9da7e 100644
--- a/slides/internals/php80-attributes-attribute-definition.xml
+++ b/slides/internals/php80-attributes-attribute-definition.xml
@@ -9,14 +9,14 @@ use MyORM\Attributes as ORM;
 
 class Distillery
 {
-    @@ORM\Column("string")
+    #[ORM\Column("string")]
     private $name;
 }
 ]]></example><example><![CDATA[<?php
 namespace MyORM\Attributes;
-use PhpAttribute;
+use Attribute;
 
-@@PhpAttribute
+#[Attribute]
 class Column {
     public function __construct(public string $type) {  }
 }
@@ -46,11 +46,6 @@ object(MyORM\Attributes\Column)#4 (1) {
 </example>
 </div>
 
-<div effect="fade-in">
-	<break lines="2"/>
-	<blurb class="big-centre">%*PhpAttribute*%<br/>🠳<br/>%*Attribute*%</blurb>
-</div>
-
 </td>
 </tr>
 </table>
diff --git a/slides/internals/php80-attributes-use-cases.xml b/slides/internals/php80-attributes-use-cases.xml
index fc35acce..26da32a6 100644
--- a/slides/internals/php80-attributes-use-cases.xml
+++ b/slides/internals/php80-attributes-use-cases.xml
@@ -2,11 +2,24 @@
 <title>Attributes: Use Cases</title>
 
 <list>
-	<bullet>Replaces phpdoc annotations in Doctrine, Symfony, etc…</bullet>
+	<bullet>Replaces phpdoc annotations in Doctrine, Symfony, etc…
+<example inline="2"><![CDATA[
+&lt;?php
+use Doctrine\ORM\Attributes as ORM;
+
+*#[ORM\Entity]*
+class Distillery
+{
+    *#[ORM\Id]*
+    *#[ORM\Column("string")]*
+    private $name;
+}]]>
+</example>
+	</bullet>
 	<bullet>May add internal attributes:
 	<list>
-		<bullet>%&amp;lt;&amp;lt;Deprecated("Use xyz instead")>>%</bullet>
-		<bullet>%&amp;lt;&amp;lt;Jit>>%, %&amp;lt;&amp;lt;NoJit>>%</bullet>
+		<bullet><example inline="2">%#[Deprecated("Use xyz instead")]%</example></bullet>
+		<bullet><example inline="2">%#[Jit]%</example><example inline="2">%#[NoJit]%</example></bullet>
 	</list>
 	</bullet>
 </list>