Re: I would like to write an RFC for the addition of an internal keyword
| From: | Sebastian Krebs | Date: | Wed, 27 Feb 2013 08:40:19 +0000 |
| Subject: | Re: I would like to write an RFC for the addition of an internal keyword | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-66263@lists.php.net to get a copy of this message | ||
2013/2/27 Jens Riisom Schultz <ibmurai@me.com>
> Hi,
>
> I just want to get a feel for whether the following idea would be
> instantly rejected (for example I get the feeling that adding keywords is a
> big deal):
>
> Often, when writing frameworks, you need to make public or protected
> functionality or classes which should only be called from inside the
> framework. You CAN ensure this with a lot of ninja tricks and
> debug_backtrace, but it is very cumbersome and often hides your methods and
> properties from class signatures.
>
Just my 2 cent, but whats about just trust other developers, that when they
call a method/function marked with @internal they know, what they are doing?
>
> Therefore I would propose adding a C# style "internal" keyword. (
> http://msdn.microsoft.com/en-us/library/7c5ka91b(v=vs.80).aspx
> )
>
> The idea is, simply, that functions, methods and classes marked as
> "internal" would only be accessible from within the namespace in which they
> are defined.
>
I don't think it makes sense for methods as public/protected/private is
enough. For know I don't see reasonable use-cases for an additional
visibility-modifier for "public as long as in the same namespace", or
"namespace-protected" for methods. But maybe it's interesting to extend
public/private/protected to classes and functions like
protected function anInternalFunction() { /* Restricted to this and
subnamespaces */ }
private class { /* Restricted to this namespace */ }
Worth the mention, that I rarely miss something like this, but at least I
can imagine some use-cases.
>
> For example the following class, "namespace Framework; internal class
> Something {}", would only be visible from within the "Framework" namespace.
>
> I have a hunch that this would be relatively easy to implement.
>
> If noone objects I would attempt to create a patch and an RFC.
>
> What do you think?
>
>
> -Jens Riisom Schultz
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
github.com/KingCrunch