Hello Marcus / Adam,
While I have nothing against some kind of comment parser in the PHP core, I
think it's something which can be done perfectly in the userland (when the
ReflectionParameter::getDocComment() is added).
Instead I would like to see the XML Canonicalization functionality from
libxml2 exposed in userland as a first step to enable XML-signature /
XML-Encryption. Or enabling the pre/post handling of the soap
request/response as a DOM, before the SOAP extension does his (great)
job.(While this is possible with raw post data and outbut buffering, it
would be more logical to re-use the same dom object).
I'm currently trying to add the Canonicalization functionality, but since
I'm not a C expert, it takes a while :)
Regards,
David
-----Original Message-----
From: Marcus Boerger [mailto:helly@php.net]
Sent: Sunday, February 13, 2005 11:49 AM
To: Adam Maccabee Trachtenberg
Cc: johannes@php.net; David Kingma | jool.nl; 'Andi Gutmans'; 'Sean
Coates'; 'Ante Drnasin'; internals@lists.php.net
Subject: Re: [PHP-DEV] Autoboxing in php 5.1Hello Adam,
ok, you propose a function to prepare the doc comments for further
processing. While this seems a good idea at first glance it is not
that easy as you typed it. The problem is that there are different
tags some of which stop at the next tag, some are just valid for the
word, some are valid for the current line and some are valid for a
pragraph. Thus it is better to provide an extension for that. And i
think it would be a good idea to start this as a set of php scripts.regards
marcusSaturday, February 12, 2005, 7:15:43 PM, you wrote:
ups, reading again i see it, it was
ReflectionProperty::getDocComment()There's a generic getDocComment() method, but that just returns the
entire blob. You then need to parse the blog using the preg
functions
to extract individual lines. It would be useful to have the
Reflection
classes do this.Sure, you can do this in userland code:
$field = 'link'; // specific comment $rc = new
ReflectionClass($this); $dc = $rc->getDocComment(); if
(preg_match("/@$field +(.+)/", $dc, $matches)) {
// do something with $matches;
}But I think this would be cleaner:
$field = 'link'; // specific comment $rc = new
ReflectionClass($this); $matches = $rc->getDocComment($field);
foreach ($matches as
$match) {
// do something with $match;
}As I would prefer to put the comment matching logic in the
reflection
classes, so you can write tools that can rely upon a standardized
format for supplying meta data about a class, method, etc.Not a big deal one way or another, but this could solve some of the
WSDL generation arguments (which I would love to solve) without
requiring major language changes, such as native type hinting.-adam
adam@trachtenberg.com | http://www.trachtenberg.com author of
o'reilly's "upgrading to php 5" and "php cookbook"
avoid the holiday rush, buy your copies today!--
Best regards,
Marcus mailto:helly@php.net
Hello Marcus / Adam,
While I have nothing against some kind of comment parser in the PHP core, I
think it's something which can be done perfectly in the userland (when the
ReflectionParameter::getDocComment() is added).
Instead I would like to see the XML Canonicalization functionality from
libxml2 exposed in userland as a first step to enable XML-signature /
XML-Encryption.
It's not either this or that here. There are different people working on
different parts of PHP. There is no masterplan, what has to be done
first and what later and which resources we use for what. Something is
done, when someone has the need for it or feels like doing this. It's
not that Adam, Marcus or Greg would now jump on implementing C14N
instead of parsing the docblocks ..
But I hope, you knew that before ;)
Or enabling the pre/post handling of the soap
request/response as a DOM, before the SOAP extension does his (great)
job.(While this is possible with raw post data and outbut buffering, it
would be more logical to re-use the same dom object).I'm currently trying to add the Canonicalization functionality, but since
I'm not a C expert, it takes a while :)
Shouldn't be to hard, if your talking about the functions described at
http://xmlsoft.org/html/libxml-c14n.html
chregu
Regards,
David
-----Original Message-----
From: Marcus Boerger [mailto:helly@php.net]
Sent: Sunday, February 13, 2005 11:49 AM
To: Adam Maccabee Trachtenberg
Cc: johannes@php.net; David Kingma | jool.nl; 'Andi Gutmans'; 'Sean
Coates'; 'Ante Drnasin'; internals@lists.php.net
Subject: Re: [PHP-DEV] Autoboxing in php 5.1Hello Adam,
ok, you propose a function to prepare the doc comments for further
processing. While this seems a good idea at first glance it is not
that easy as you typed it. The problem is that there are different
tags some of which stop at the next tag, some are just valid for the
word, some are valid for the current line and some are valid for a
pragraph. Thus it is better to provide an extension for that. And i
think it would be a good idea to start this as a set of php scripts.regards
marcusSaturday, February 12, 2005, 7:15:43 PM, you wrote:
ups, reading again i see it, it was
ReflectionProperty::getDocComment()There's a generic getDocComment() method, but that just returns the
entire blob. You then need to parse the blog using the pregfunctions
to extract individual lines. It would be useful to have the
Reflection
classes do this.
Sure, you can do this in userland code:
$field = 'link'; // specific comment $rc = new
ReflectionClass($this); $dc = $rc->getDocComment(); if
(preg_match("/@$field +(.+)/", $dc, $matches)) {
// do something with $matches;
}But I think this would be cleaner:
$field = 'link'; // specific comment $rc = new
ReflectionClass($this); $matches = $rc->getDocComment($field);
foreach ($matches as$match) {
// do something with $match;
}As I would prefer to put the comment matching logic in the
reflection
classes, so you can write tools that can rely upon a standardized
format for supplying meta data about a class, method, etc.Not a big deal one way or another, but this could solve some of the
WSDL generation arguments (which I would love to solve) without
requiring major language changes, such as native type hinting.-adam
adam@trachtenberg.com | http://www.trachtenberg.com author of
o'reilly's "upgrading to php 5" and "php cookbook"
avoid the holiday rush, buy your copies today!--
Best regards,
Marcus mailto:helly@php.net
--
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71
http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB