Hi All,
There was an offline exchange, which generated a lot of good ideas,
but that failed to find agreement for one final proposal among the
participants. I had hoped that the results would have been mailed to
this list yesterday. Since I am going on yet another frisbee trip in
about an hour, I am putting on the thumb screws with this post. Stas
might update his proposal and Dmitry has a proposal that makes some
more modifications to be able to handle functions/constants in
namespaces without ambiguities. I will leave it to them to send their
proposals to the list.
At this point I guess we have the choice between:
- rip them out
- status quo
- Stas proposal
- Dmitrys proposal
Again I hope that Stas/Dmitry will give us an insight about their
proposals, though Stas proposal might or might not see any changes.
In my dream world you all would come to an agreement, finish up the
patches by Monday so that we could release alpha3 next Thursday. Since
that is not going to happen we will see alpha3 on the 21st I guess.
regards,
Lukas Kahwe Smith
mls@pooteeweet.org
2008/10/10 Lukas Kahwe Smith mls@pooteeweet.org:
Hi All,
There was an offline exchange, which generated a lot of good ideas, but that
failed to find agreement for one final proposal among the participants. I
had hoped that the results would have been mailed to this list yesterday.
Since I am going on yet another frisbee trip in about an hour, I am putting
on the thumb screws with this post. Stas might update his proposal and
Dmitry has a proposal that makes some more modifications to be able to
handle functions/constants in namespaces without ambiguities. I will leave
it to them to send their proposals to the list.At this point I guess we have the choice between:
- rip them out
- status quo
- Stas proposal
If stats proposal is the one where functions and constants are removed
from namespaces, then Im +1 for that proposal.
- Dmitrys proposal
Again I hope that Stas/Dmitry will give us an insight about their proposals,
though Stas proposal might or might not see any changes.In my dream world you all would come to an agreement, finish up the patches
by Monday so that we could release alpha3 next Thursday. Since that is not
going to happen we will see alpha3 on the 21st I guess.regards,
Lukas Kahwe Smith
mls@pooteeweet.org--
--
Kalle Sommer Nielsen
- rip them out
I'm +1 on this. We simply don't have consensus, and I don't see anyway
we can have consensus by the time 5.3 has to be frozen. Once
namespaces are in, we're gonna have to stick with whatever we choose,
unless we totally break BC.
--
Geoffrey Sneddon
<http://gsnedders.com/
On Fri, Oct 10, 2008 at 5:56 PM, Geoffrey Sneddon <foolistbar@googlemail.com
wrote:
- rip them out
I'm +1 on this. We simply don't have consensus, and I don't see anyway we
can have consensus by the time 5.3 has to be frozen. Once namespaces are in,
we're gonna have to stick with whatever we choose, unless we totally break
BC.--
Geoffrey Sneddon
http://gsnedders.com/
I'd agree with this, leave something with such a big impact to version 6. At
least it gives time to get it right.
Le mardi 14 octobre 2008 à 09:12 +0100, James Dempster a écrit :
On Fri, Oct 10, 2008 at 5:56 PM, Geoffrey Sneddon <foolistbar@googlemail.com
wrote:
- rip them out
I'm +1 on this. We simply don't have consensus, and I don't see anyway we
can have consensus by the time 5.3 has to be frozen. Once namespaces are in,
we're gonna have to stick with whatever we choose, unless we totally break
BC.--
Geoffrey Sneddon
http://gsnedders.com/I'd agree with this, leave something with such a big impact to version 6. At
least it gives time to get it right.
I don't agree to this, many of us are waiting for namespaces and have starting to impact some code in prevision.
Don't forget that an annoucement has been done on php.net and a final release of 5.3 without namespaces could be interpreded as a regression.
Stephane
- rip them out
I'm +1 on this. We simply don't have consensus, and I don't see anyway
we
can have consensus by the time 5.3 has to be frozen. Once namespaces
are in,
we're gonna have to stick with whatever we choose, unless we totally
break
BC.I'd agree with this, leave something with such a big impact to version 6.
At
least it gives time to get it right.I don't agree to this, many of us are waiting for namespaces and have
starting to impact some code in prevision.Don't forget that an annoucement has been done on php.net and a final
release of 5.3 without namespaces could be interpreded as a regression.
I'm +1 on ripping out and leaving til 6.0. I don't think there is enough
time between now and the 5.3.0 code freeze to make major changes to the
language syntax. Making -> do double duty and adding E_STRICT
messages to
currently legal code really doesn't look like a good option to me, much less
during a point release and even less during the final moments of a release
cycle. Leaving as-is, we already know is problematic. There's no consensus
to pull support for functions/constants, which would make it less
problematic.
'An announcement has been done on php.net' simply isn't a good enough reason
to screw up the language; we can write new announcements and even
explanations. And we already have most of a working implementation in 6.0,
so it's not like ripping it out of 5.3 means starting over from scratch.
- Steph
Steph Fox schreef:
- rip them out
+1 ... I concur with Steph's opinion
I'm +1 on this. We simply don't have consensus, and I don't see
anyway > we
can have consensus by the time 5.3 has to be frozen. Once
namespaces > are in,
we're gonna have to stick with whatever we choose, unless we
totally > break
BC.I'd agree with this, leave something with such a big impact to
version 6. At
least it gives time to get it right.I don't agree to this, many of us are waiting for namespaces and have
starting to impact some code in prevision.Don't forget that an annoucement has been done on php.net and a final
release of 5.3 without namespaces could be interpreded as a regression.I'm +1 on ripping out and leaving til 6.0. I don't think there is enough
time between now and the 5.3.0 code freeze to make major changes to the
language syntax. Making -> do double duty and addingE_STRICT
messages
to currently legal code really doesn't look like a good option to me,
much less during a point release and even less during the final moments
of a release cycle. Leaving as-is, we already know is problematic.
There's no consensus to pull support for functions/constants, which
would make it less problematic.'An announcement has been done on php.net' simply isn't a good enough
reason to screw up the language; we can write new announcements and even
explanations. And we already have most of a working implementation in
6.0, so it's not like ripping it out of 5.3 means starting over from
scratch.
- Steph
Jochem Maas wrote:
- rip them out
+1 ... I concur with Steph's opinion
Also +1 for taking them out.
Namespaces should be saved for PHP 6 IMO as well. Now that the current
namespaces have been tested there is at least a starting point for
discussion. And that discussion has started as everyone knows. But I
think that any decisions will not be made for a timely 5.3 release or
the "quick and dirty" option will win. In the long run it needs to be
done right, not in a hurry.
I see the point and objections against "quick and dirty", but on the other
hand the discussion about the namespaces started long time ago - two years
already? If for two years there wasn't an agreement how they have to be
implemented (or even whether to add them at all! because I see many comments
in this sense) what are the reasons to think that in the next 5-6 months,
when php6 will reach its "release stage" with the first alphas, this will be
done?
Even the namespaces dont go in php5.3 I think a solution/agreement has to be
found quickly because it looks like php 6.0 could be in the same situation
after few months.
Jochem Maas wrote:
- rip them out
+1 ... I concur with Steph's opinion
Also +1 for taking them out.
Namespaces should be saved for PHP 6 IMO as well. Now that the current
namespaces have been tested there is at least a starting point for
discussion. And that discussion has started as everyone knows. But I think
that any decisions will not be made for a timely 5.3 release or the "quick
and dirty" option will win. In the long run it needs to be done right, not
in a hurry.--
--
Vesselin Kenashkov
developer at
www.webstudiobulgaria.com
Hi Vesselin,
I see the point and objections against "quick and dirty", but on the other
hand the discussion about the namespaces started long time ago - two years
already?
Longer than that - they were thrown out in 5.0 too.
If for two years there wasn't an agreement how they have to be
implemented (or even whether to add them at all! because I see many
comments
in this sense) what are the reasons to think that in the next 5-6 months,
when php6 will reach its "release stage" with the first alphas, this will
be
done?
The difference between 5.0 and now is that there wasn't an agreed base
implementation in 5.0. That much, we have now. The problem (which was only
defined clearly within the last few weeks) is that there's no consensus
about the extent of namespace support, ie whether or not to go beyond
classes as namespace elements. We have the choice of saying this will never
happen, or providing the means to make it possible for it to happen, and
that's where the discussion is now. If we provide the means to make
namespaced functions/constants possible at this stage, we won't be able to
change the chosen approach at a later stage even if it becomes apparent that
the approach is wrong. Also if we don't provide for it, we won't have the
option to change our collective mind later once namespace support is in PHP.
Even the namespaces dont go in php5.3 I think a solution/agreement has to
be
found quickly because it looks like php 6.0 could be in the same situation
after few months.
Moving it to PHP 6 allows more room for experimentation. We can try the ->
thing and see if it works well for people or if we need a new symbol to
express namespace elements, or even if the whole thing of function/constant
support is a Bad Thing for PHP. We don't have time to do all that before
5.3.0.
- Steph
Hi.
Sorry, I just have to make some points now. Call it "venting for a
cause", if you think I overreact. But be sure that the consequences I
lay out below for TYPO3v5 and FLOW3 are very real.
Vesselin Kenashkov wrote:
I see the point and objections against "quick and dirty", but on the other
hand the discussion about the namespaces started long time ago - two years
already? If for two years there wasn't an agreement how they have to be
implemented (or even whether to add them at all! because I see many comments
in this sense) what are the reasons to think that in the next 5-6 months,
when php6 will reach its "release stage" with the first alphas, this will be
done?
I see no reasons to believe in such a statement. We started using PHP6
snapshots for TYPO3v5 and what is now known as FLOW3 in late 2006
because (actually compiled first version during the PHP Conference in
Frankfurt after listening to an encouraging talk by Derick) we wanted to
be "only-unicode-finally". We were happy with a 2 year timeline at that
point, because we were just starting.
A year later we listened/talked to Derick again, and decided to write a
wrapper[1] that emulates the most needed things and drop on PHP6,
because we learned that it might take another 2 to 10 years, and almost
nobody was really caring.
Now we decided a few weeks ago to make use of namespaces and adjusted
the whole codebase[2] about a month ago - because it seemed clear that
5.3 and namespaces were around the corner.
Honestly, saying that "those using non-released code should not
complain" is ridiculous if those people did so because the PHP
developers asked to use namespaces in larger projects to get feedback.
That feedback already led to disucssions collecting what could become a
best practices guide on namespace use.
And, as I said in another post, pulling that again weakens trust in any
further announcement. In March Ilia in Montreal presented 5.3 and
namespaces was on the list then. Come on, now, months later, you
notice (again) that maybe it should not be part of it?
And how come I have the feeling that suddenly a number of people say
"let's pull it" that did not add suggestions on solving potential issues
in the last weeks?
On behalf of at least three dozen TYPO3 core developers,
Karsten
[1] http://forge.typo3.org/repositories/show/package-php6
[2] http://forge.typo3.org/repositories/show/packages
Karsten Dambekalns
FLOW3 & TYPO3 Development
TYPO3 Association
I'm +1 on ripping out and leaving til 6.0. I don't think there is
enough time between now and the 5.3.0 code freeze to make major
changes to the language syntax. Making -> do double duty and adding
E_STRICT
messages to currently legal code really doesn't look like a
good option to me, much less during a point release and even less
during the final moments of a release cycle. Leaving as-is, we
already know is problematic. There's no consensus to pull support
for functions/constants, which would make it less problematic.
Just for the record, I was suggesting to add the E_STRICT
in PHP6, not
in PHP 5.3.
regards,
Lukas Kahwe Smith
mls@pooteeweet.org
Hi Lukas,
Just for the record, I was suggesting to add the
E_STRICT
in PHP6, not in
PHP 5.3.
I'd missed that, but it doesn't make a whole lot of difference IMHO. The
reuse of an existing symbol is going to bring problems, and if we do it now
we'll be blocking the possibility of a better resolution.
- Steph
On Tuesday 14 October 2008 14:10:50 Steph Fox wrote:
I'm +1 on ripping out and leaving til 6.0. I don't think there is enough
time between now and the 5.3.0 code freeze to make major changes to the
language syntax.
Major changes like ripping the feature that most people are looking forward to
in 5.3 out?
Making -> do double duty and adding
E_STRICT
messages to
currently legal code really doesn't look like a good option to me, much
less during a point release and even less during the final moments of a
release cycle.
That E_STRICT
was proposed for 6, not for 5.3, and is not a requirement - and
about "double duty", it's not really unintuitive to reference to "members" of
classes the same way you reference to "members" of instances.
'An announcement has been done on php.net' simply isn't a good enough
reason to screw up the language; we can write new announcements and even
explanations. And we already have most of a working implementation in
6.0, so it's not like ripping it out of 5.3 means starting over from
scratch.
I would love to see the public reaction to those "new announcements and
explanations", so in a way it's a win-win situation for me.
Regards,
Stefan
Major changes like ripping the feature that most people are looking
forward to
in 5.3 out?
'Most people'? I would've expected 'most people' to be writing code that
will run under 5.1 for at least the next couple of years! Experience tells
me that takeup of new language elements is slow, and that 'most people' are
likely to wait for PHP 5.3.1 or 5.3.2 before upgrading to 5.3 at all,
precisely because it has a lot of new features.
That
E_STRICT
was proposed for 6, not for 5.3, and is not a requirement -
and
about "double duty", it's not really unintuitive to reference to "members"
of
classes the same way you reference to "members" of instances.
Except that it has never been part of PHP syntax. Except that it will make
code harder to read/maintain. Except that there are cases where the
intention will be ambiguous.
'An announcement has been done on php.net' simply isn't a good enough
reason to screw up the language; we can write new announcements and even
explanations. And we already have most of a working implementation in
6.0, so it's not like ripping it out of 5.3 means starting over from
scratch.I would love to see the public reaction to those "new announcements and
explanations", so in a way it's a win-win situation for me.
I'd love to see the public reaction if we get it badly wrong. I bet that
lasts much, much longer than the five minute huff over withdrawal.
- Steph
Steph Fox wrote:
I'd love to see the public reaction if we get it badly wrong. I bet that
lasts much, much longer than the five minute huff over withdrawal.
+10 to that
there are no doubt loads of other fixes, upgrades and necessaries which
people are waiting for from the release of 5.3 - they are more
important than the implementation of namespaces.
If you're still debating over which option to go for, then you don't
have a perfect implementation yet; leave it out.
-- OR --
totally stupid release two 5.3's and let the public decide;
download 1: PHP 5.3
download 2: PHP 5.3 with namespaces
(and indeed swap should the namespaces fail badly)
regards,
nathan
Am 14.10.2008 um 14:10 schrieb Steph Fox:
- rip them out
I'm +1 on this. We simply don't have consensus, and I don't see
anyway > we
can have consensus by the time 5.3 has to be frozen. Once
namespaces > are in,
we're gonna have to stick with whatever we choose, unless we
totally > break
BC.I'd agree with this, leave something with such a big impact to
version 6. At
least it gives time to get it right.I'm +1 on ripping out and leaving til 6.0.
+1 from me, too. Getting it right takes time. If that means 6.0, fine.
On Tue, Oct 14, 2008 at 2:27 PM, David Zülke
david.zuelke@bitextender.com wrote:
Am 14.10.2008 um 14:10 schrieb Steph Fox:
- rip them out
I'm +1 on this. We simply don't have consensus, and I don't see anyway
we
can have consensus by the time 5.3 has to be frozen. Once namespaces >
are in,
we're gonna have to stick with whatever we choose, unless we totally >
break
BC.I'd agree with this, leave something with such a big impact to version
- At
least it gives time to get it right.I'm +1 on ripping out and leaving til 6.0.
+1 from me, too. Getting it right takes time. If that means 6.0, fine.
+1 for removal.
--
Mikko Koppanen
Hi!
- Stas proposal
I have two proposals, actually.
-
Leave functions (and constant) alone, i.e. namespace would ignore that.
1.1 Option: if you define function inside namespace, compiler could give
an error (I don't like this option, but I mention it for the sake of
completeness). -
Leave functions/constants as they are now, and add the following syntax:
Class::Name->method()
for calling static methods (and referring to class constants), so that
there would be a way to disambiguate calls in (rare, IMHO) situations
where ambiguity may arise.
--
Stanislav Malyshev, Zend Software Architect
stas@zend.com http://www.zend.com/
(408)253-8829 MSN: stas@zend.com
On Friday 10 October 2008 19:02:25 Stanislav Malyshev wrote:
Hi!
- Stas proposal
I have two proposals, actually.
[snip]
- Leave functions/constants as they are now, and add the following syntax:
Class::Name->method()
for calling static methods (and referring to class constants), so that
there would be a way to disambiguate calls in (rare, IMHO) situations
where ambiguity may arise.
This certainly seems like the best proposal.
Regards,
Stefan
Stanislav Malyshev wrote:
- Leave functions/constants as they are now, and add the following syntax:
Class::Name->method()
for calling static methods (and referring to class constants), so that
there would be a way to disambiguate calls in (rare, IMHO) situations
where ambiguity may arise.
I would be glad with this one.
Thanks. Dmitry.
It should be noted that this proposal builds on Stas previous proposal
after Zendcon
Allow braces for namespaces. So, the syntax for namespaces will be:
a) namespace foo;
should be first (non-comment) statement in the file, namespace
extends to the end of the file or next namespace declaration.
b) namespace foo {}
can appear anywhere on the top scope (can not be nested).
Mixing both syntaxes in one file is not possible. The semantics of
both syntaxes will be identical.Simplify resolution order for classes in the namespace:
unqualified names are resolved this way:
a) check "use" list if the name was defined at "use", follow that
resolution
b) if not, the name resolves to namespace::name
Consequence of this will be that for using internal class inside
namespace one would need to refer to it either as ::Foo or do
use ::Foo prior to its usage.
The original 3rd point from the proposal now has the following two
optional solutions (the first one being the originally proposed
approach):
I have two proposals, actually.
- Leave functions (and constant) alone, i.e. namespace would ignore
that.
1.1 Option: if you define function inside namespace, compiler could
give an error (I don't like this option, but I mention it for the
sake of completeness).
I am -1 on this one.
- Leave functions/constants as they are now, and add the following
syntax:
Class::Name->method()
for calling static methods (and referring to class constants), so
that there would be a way to disambiguate calls in (rare, IMHO)
situations where ambiguity may arise.
I am +0.5(*) on this one. I dont like the fact that this means that
code needs to be migrated before being unambiguous, so I preferred the
idea of having a different separator between namespaces and its
members, but this way there is at least a solution available.
(*) There is a condition under which I would be +1 for the syntax. If
in PHP6 we can make the old syntax (A::foo() and A::FOO) raise an
E_STRICT
(I dont think we ever want to remove it, so E_DEPRECATED
would not be the right choice), when its being used to reference class
members instead of namespace elements. If I understand the namespace
resolution rules properly, we check namespaces first before checking
for a class with the same name. So with the E_STRICT
in place,
developers could protect themselves perfectly from accidental
ambiguities (if they were to ever introduce a namespace with the same
name as a class with a constant or static method that is referenced
using the double colon) and effectively migrate to the new syntax
(which I think is nicer anyways, than the original syntax).
Barring any new major findings I ask everybody to cast their vote by
Thursday evening PST. Since Dmitry was not happy with his proposal we
are left with:
- Rip them out
- Keep as is
- Stas proposal with functions/constants ignored
- Stas proposal with "->" optionally allowed to resolve ambiguities
If we have a decision by Thursday evening we could hopefully do an
alpha3 by Thursday the following week, although I would want any
namespace to be documented before (or closely around) the release of
alpha3. Stas said that he would be willing to update the README in a
timely manner after finishing a patch, in case we go for 3) or 4). I
hope we can also find the time to transfer any changes to docbook
quickly after this.
regards,
Lukas Kahwe Smith
mls@pooteeweet.org
I'm very happy with the current implementation of the namespaces, so my vote
would be to keep it as it is.
Otherwise my "fallback vote" would be for the '->' operator.
I do find the namespaces very useful and I would like to see them in
whatever shape in 5.3.
- Rip them out
- Keep as is
- Stas proposal with functions/constants ignored
- Stas proposal with "->" optionally allowed to resolve ambiguities
If we have a decision by Thursday evening we could hopefully do an alpha3
by Thursday the following week, although I would want any namespace to be
documented before (or closely around) the release of alpha3. Stas said that
he would be willing to update the README in a timely manner after finishing
a patch, in case we go for 3) or 4). I hope we can also find the time to
transfer any changes to docbook quickly after this.regards,
Lukas Kahwe Smith
mls@pooteeweet.org--
--
Vesselin Kenashkov
developer at
www.webstudiobulgaria.com
Hi Lukas,
Am Freitag, den 10.10.2008, 07:03 +0200 schrieb Lukas Kahwe Smith:
[...]
- Stas proposal
+1 here.
cu, Lars
Jabber: lars@strojny.net
Weblog: http://usrportage.de
Lukas Kahwe Smith wrote:
Hi All,
There was an offline exchange, which generated a lot of good ideas, but
that failed to find agreement for one final proposal among the
participants. I had hoped that the results would have been mailed to
this list yesterday. Since I am going on yet another frisbee trip in
about an hour, I am putting on the thumb screws with this post. Stas
might update his proposal and Dmitry has a proposal that makes some more
modifications to be able to handle functions/constants in namespaces
without ambiguities. I will leave it to them to send their proposals to
the list.At this point I guess we have the choice between:
- rip them out
+1
I'd much rather see namespaces removed for 5.3 and a more thought out
implementation for a future release. To be honest prefixing your classes
isn't overly hard, so its not something most people will miss from 5.3.
This discussion has already held up 5.3 enough for now and I'd rather
not see BC badly broken when we "fix" some things in the future. Once we
ship an implementation of Namespaces we're more or less stuck with it.
Scott
At this point I guess we have the choice between:
- rip them out
- status quo
- Stas proposal
- Dmitrys proposal
Again I hope that Stas/Dmitry will give us an insight about their proposals,
though Stas proposal might or might not see any changes.
Stas wrote up an RFC about the two proposals:
http://wiki.php.net/rfc/namespaceref
Now I finally figured out what the two things are without having to real
a gazillion pointless posts it makes it easier to formulate my point of
view.
It seems that we're not quite 100% how we want to do things. Reading the
"Namespaces with functions/constants" part of Stas' RFC makes me
cringe... just changing the behavior of -> and :: to just make things
work is a cludge, and a bad one at that. The other part, "Namespaces
without functions/constants" is a much more practical solution. However,
a third one might be to use a syntax separator that we've not seen at
all yet (I'd say ':::').
Even with the "No functions/constants" option
I've issues, because of the resolving of internal classes. In a
namespace using "new className" they would resolve to
nameSpace::className. Having to use ::className to get to an internal
class is yet another cludge. IMO the internal classes should be able to
use with the "::" and should have precedence over namespace'd classes
with the same name. If you really want to re-use an internal class name,
use "namespace::className". I realize that that means you need to
have at least two "elements" of the namespace'd class while using them.
However, while reading code it makes it absolutely clear whether you're
using an internal class or not.
As we're getting really close to 5.3, I would suggest to remove
namespaces from this release as we're simply not done with even agreeing
on how things should work. PHP 5.3 has many other cool things, and
leaving namespaces for PHP 6 means we're actually introducing
functionality there as well (for the folks that don't care about
Unicode). We've done with namespaces for a loooong time, and they've
never really been required. Many people won't be able to use it any
way as they have to support older PHP versions in their code base as
well. PHP 6 is a much more natural switch for something like this.
If we absolutely have to have namespaces, then we should go with the
"Namespaces without functions/constants" proposal, with some tweaks.
However, I still think it's not ready enough to put even that into 5.3.
regards,
Derick
--
HEAD before 5_3!: http://tinyurl.com/6d2esb
http://derickrethans.nl | http://ezcomponents.org | http://xdebug.org
Derick Rethans wrote:
At this point I guess we have the choice between:
- rip them out
- status quo
- Stas proposal
- Dmitrys proposal
Again I hope that Stas/Dmitry will give us an insight about their proposals,
though Stas proposal might or might not see any changes.Stas wrote up an RFC about the two proposals:
http://wiki.php.net/rfc/namespacerefNow I finally figured out what the two things are without having to real
a gazillion pointless posts it makes it easier to formulate my point of
view.
From my own point of view - which may well be flawed - I AM still seeing
'namespace' as a stepping stone to better code, but in order to achieve that
I am thinking that legacy sections get wrapped in a namespace while other
sections are developed. To that end, wrapping legacy functions and constant
does seem essential SHORT TERM, so not having them would seem to me to make
take-up of the concept hamstrung?
Am I being totally out of line with that idea? Is there a way to achieve the
same result with the current offering?
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/lsces/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php
However, a third one might be to use a syntax separator that we've
not seen at all yet (I'd say ':::').
FWIW, this is my +0.5 (with +1 being dropping). I'm absolutely against
reusing a selector for this.
--
Geoffrey Sneddon
<http://gsnedders.com/
Am 15.10.2008 um 09:04 schrieb Derick Rethans:
As we're getting really close to 5.3, I would suggest to remove
namespaces from this release as we're simply not done with even
agreeing
on how things should work. PHP 5.3 has many other cool things, and
leaving namespaces for PHP 6 means we're actually introducing
functionality there as well (for the folks that don't care about
Unicode). We've done with namespaces for a loooong time, and they've
never really been required. Many people won't be able to use it any
way as they have to support older PHP versions in their code base as
well. PHP 6 is a much more natural switch for something like this.
If we absolutely have to have namespaces, then we should go with
the
"Namespaces without functions/constants" proposal, with some tweaks.
However, I still think it's not ready enough to put even that into
5.3.
My thoughts exactly. I realize it's a bold move, but it's a much
better alternative than the fuzz about an implementation that doesn't
work, or is incomplete, or needs to be broken in the future to add new
stuff.
- David
Hi!
My thoughts exactly. I realize it's a bold move, but it's a much better
alternative than the fuzz about an implementation that doesn't work, or
is incomplete, or needs to be broken in the future to add new stuff.
Of course, if we have no implementation this means it is complete, not
broken and never needs any stuff to be added. That's perfect, let's do
all the features this way!
Stanislav Malyshev, Zend Software Architect
stas@zend.com http://www.zend.com/
(408)253-8829 MSN: stas@zend.com
Hi!
It seems that we're not quite 100% how we want to do things. Reading the
"Namespaces with functions/constants" part of Stas' RFC makes me
cringe... just changing the behavior of -> and :: to just make things
work is a cludge, and a bad one at that. The other part, "Namespaces
I think that's actually what we should have done from the start. All OO
languages but C++ have same operator for both static and dynamic OO
access, and C++ is not exactly clarity example anyway. But we have the
baggage of being used to C++ way, so...
However, while reading code it makes it absolutely clear whether you're
using an internal class or not.
it is always absolutely clear - if you didn't say :: you are not.
As we're getting really close to 5.3, I would suggest to remove
namespaces from this release as we're simply not done with even agreeing
on how things should work. PHP 5.3 has many other cool things, and
You realize this means PHP will never have namespaces, right?
Unicode). We've done with namespaces for a loooong time, and they've
never really been required. Many people won't be able to use it any
For you, maybe, but for other people out there they are.
If we absolutely have to have namespaces, then we should go with the
"Namespaces without functions/constants" proposal, with some tweaks.
Which tweaks?
Stanislav Malyshev, Zend Software Architect
stas@zend.com http://www.zend.com/
(408)253-8829 MSN: stas@zend.com