| From | Sent On | Attachments |
|---|---|---|
| 22 earlier messages | ||
| Andi Gutmans | May 9, 2011 10:22 am | |
| guil...@gmail.com | May 9, 2011 10:25 am | |
| Christopher Jones | May 9, 2011 10:27 am | |
| Stas Malyshev | May 9, 2011 10:30 am | |
| guil...@gmail.com | May 9, 2011 10:31 am | |
| Andi Gutmans | May 9, 2011 10:32 am | |
| Rasmus Lerdorf | May 9, 2011 10:38 am | |
| Ferenc Kovacs | May 9, 2011 10:43 am | |
| guil...@gmail.com | May 9, 2011 10:44 am | |
| guil...@gmail.com | May 9, 2011 10:47 am | |
| guil...@gmail.com | May 9, 2011 10:50 am | |
| Rasmus Lerdorf | May 9, 2011 10:53 am | |
| guil...@gmail.com | May 9, 2011 11:07 am | |
| Stas Malyshev | May 9, 2011 11:13 am | |
| Stas Malyshev | May 9, 2011 11:35 am | |
| Ferenc Kovacs | May 9, 2011 11:39 am | |
| guil...@gmail.com | May 9, 2011 11:52 am | |
| Stefan Marr | May 9, 2011 12:33 pm | |
| Lester Caine | May 9, 2011 2:41 pm | |
| dukeofgaming | May 9, 2011 3:00 pm | |
| Ilia Alshanetsky | May 9, 2011 3:09 pm | |
| Andi Gutmans | May 9, 2011 3:39 pm | |
| guil...@gmail.com | May 9, 2011 4:26 pm | |
| guil...@gmail.com | May 9, 2011 4:29 pm | |
| Lester Caine | May 9, 2011 5:25 pm | |
| Stas Malyshev | May 9, 2011 5:35 pm | |
| guil...@gmail.com | May 9, 2011 5:35 pm | |
| Ferenc Kovacs | May 9, 2011 5:35 pm | |
| guil...@gmail.com | May 9, 2011 5:55 pm | |
| Stas Malyshev | May 9, 2011 6:22 pm | |
| Pierrick Charron | May 9, 2011 8:03 pm | |
| Mike Willbanks | May 9, 2011 8:42 pm | |
| Pierrick Charron | May 9, 2011 8:50 pm | |
| Drak | May 9, 2011 9:09 pm | |
| Lester Caine | May 9, 2011 10:45 pm | |
| Pascal COURTOIS | May 9, 2011 11:06 pm | |
| Chad Fulton | May 10, 2011 12:01 am | |
| Ferenc Kovacs | May 10, 2011 12:43 am | |
| Lars Schultz | May 10, 2011 1:02 am | |
| Jordi Boggiano | May 10, 2011 1:10 am | |
| Lars Schultz | May 10, 2011 1:16 am | |
| Rasmus Lerdorf | May 10, 2011 1:44 am | |
| Sebastian Bergmann | May 10, 2011 2:34 am | |
| Ferenc Kovacs | May 10, 2011 2:39 am | |
| Sebastian Bergmann | May 10, 2011 2:40 am | |
| Ferenc Kovacs | May 10, 2011 3:04 am | |
| Drak | May 10, 2011 3:21 am | |
| Stefan Marr | May 10, 2011 4:04 am | |
| Arvids Godjuks | May 10, 2011 4:42 am | |
| Martin Scotta | May 10, 2011 5:28 am | |
| Martin Scotta | May 10, 2011 5:46 am | |
| Ferenc Kovacs | May 10, 2011 6:13 am | |
| Lars Schultz | May 10, 2011 6:37 am | |
| chri...@mohiva.com | May 10, 2011 6:55 am | |
| Lars Schultz | May 10, 2011 7:12 am | |
| Pas | May 10, 2011 7:19 am | |
| Alain Williams | May 10, 2011 7:19 am | |
| Christian Kaps | May 10, 2011 7:50 am | |
| Lester Caine | May 10, 2011 8:02 am | |
| Arvids Godjuks | May 10, 2011 8:07 am | |
| guil...@gmail.com | May 10, 2011 8:07 am | |
| Lester Caine | May 10, 2011 8:20 am | |
| Jonathan Bond-Caron | May 10, 2011 8:43 am | |
| Lester Caine | May 10, 2011 8:49 am | |
| Jonathan Bond-Caron | May 10, 2011 8:51 am | |
| Matthew Weier O'Phinney | May 10, 2011 8:56 am | |
| Matthew Weier O'Phinney | May 10, 2011 8:57 am | |
| Lester Caine | May 10, 2011 9:10 am | |
| Stas Malyshev | May 10, 2011 9:30 am | |
| guil...@gmail.com | May 10, 2011 9:46 am | |
| Zeev Suraski | May 10, 2011 9:47 am | |
| Sebastian Bergmann | May 10, 2011 10:14 am | |
| Sebastian Bergmann | May 10, 2011 10:15 am | |
| Matthew Weier O'Phinney | May 10, 2011 10:19 am | |
| Drak | May 10, 2011 10:29 am | |
| Lester Caine | May 10, 2011 11:12 am | |
| Christopher Jones | May 10, 2011 11:16 am | |
| Mike Robinson | May 10, 2011 11:20 am | |
| Ferenc Kovacs | May 10, 2011 11:21 am | |
| Lester Caine | May 10, 2011 11:22 am | |
| Ferenc Kovacs | May 10, 2011 11:27 am | |
| Ferenc Kovacs | May 10, 2011 11:28 am | |
| Matthew Weier O'Phinney | May 10, 2011 12:27 pm | |
| dukeofgaming | May 10, 2011 12:28 pm | |
| guil...@gmail.com | May 10, 2011 12:31 pm | |
| guil...@gmail.com | May 10, 2011 12:35 pm | |
| Drak | May 10, 2011 12:36 pm | |
| Ferenc Kovacs | May 10, 2011 12:40 pm | |
| Ferenc Kovacs | May 10, 2011 12:41 pm | |
| dukeofgaming | May 10, 2011 12:44 pm | |
| Rasmus Lerdorf | May 10, 2011 12:44 pm | |
| Drak | May 10, 2011 12:49 pm | |
| Rasmus Lerdorf | May 10, 2011 12:51 pm | |
| Chad Fulton | May 10, 2011 1:02 pm | |
| Christopher Jones | May 10, 2011 1:28 pm | |
| Lester Caine | May 10, 2011 2:32 pm | |
| Lars Schultz | May 10, 2011 3:03 pm | |
| guil...@gmail.com | May 10, 2011 3:27 pm | |
| Johannes Schlüter | May 10, 2011 5:01 pm | |
| Johannes Schlüter | May 10, 2011 5:15 pm | |
| 71 later messages | ||
| Subject: | Re: [PHP-DEV] annotations again | |
|---|---|---|
| From: | Martin Scotta (mart...@gmail.com) | |
| Date: | May 10, 2011 5:28:30 am | |
| List: | net.php.lists.internals | |
On Tue, May 10, 2011 at 5:45 AM, Rasmus Lerdorf <ras...@lerdorf.com> wrote:
On 05/10/2011 01:10 AM, Jordi Boggiano wrote:
On Tue, May 10, 2011 at 10:02 AM, Lars Schultz
To explain what I mean, I'll use the example provided in the RFC. Could
anyone please explain the advantages of having "passive" annotations over "active" PHP Code.
I think your example shows very well why annotations are good, it's much more concise.
By concise, you mean shorter, easier to read?
I have a really hard time looking at:
<Entity("users")> class User { <Column("integer")> <Id> <GeneratedValue("AUTO")> <ManyToMany("Phonenumber")> protected $Phonenumbers; }
as a PHP user and instantly understanding what this does. It looks completely foreign from a PHP syntax point of view.
Whereas:
class User_EntityAnnotation { public function getEntityName() { return 'users'; }
public function getColumnInfo($property) { switch($property) { case 'id': return array( 'column'=>'integer', 'isPrimary'=>true, 'autoIncrement'=>true );
case 'Phonenumbers': return array( 'manytomany'=>'Phonenumber' ); } } }
is way more verbose, but I can instantly grok what is going on without learning a new syntax, without waiting for my opcode cache to support it, and without waiting for my editor to understand the new syntax.
The editor argument is out of place do you really think that the engine should we built around what IDE supports?
Don't underestimate the difficulty in getting opcode cache support for something like this. If you think the engine code is complex, try digging into the opcode cache code. It will be much much harder to write the opcode cache support than it was to write the engine code for it.
I also have a personal problem with code that needs to introspect on every web request in order to run. But that is likely because I am old and gray and used to stare sceptically at the assembly output of the first C compilers to see if I could come up with an alternative that would take fewer cycles.
-Rasmus
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php





