Req #68876 [NEW]: Access specifier for class

From: Date: Wed, 21 Jan 2015 14:13:49 +0000
Subject: Req #68876 [NEW]: Access specifier for class
Groups: php.standards 
Request: Send a blank email to standards-+get-703@lists.php.net to get a copy of this message
From: kulinchoksi at gmail dot com Operating system: any PHP version: 5.6.4 Package: PHP Language Specification Bug Type: Feature/Change Request Bug description:Access specifier for class Description: ------------ --- From manual page: http://www.php.net/language.oop5.visibility --- In recent versions of PHP, we have introduced feature of namespaces. I was thinking of the scenario where we can specify access specifier/visibility of classes also. We may allow to access instantiation of the class inside namespace only if it's private. Although I'm not sure about allowing the objects of that class outside the namespace but I think, it should be allowed in any case. Example of encapsulating classes in namespace could be: - Different payment classes may represent different payment methods. - A payment manager class can only access the payment factory which will decide to instantiate particular type of payment class. - In application, we would access payment class via manager class only. So manager class can behave like a public interface of payment entities. Example: namespace application/payment; abstract class Payment { ... } private class TypePaypal extends Payment { ... } private class TypePaymentInAdvance extends Payment { ... } class PaymentFactory { ... } -- Edit bug report at https://bugs.php.net/bug.php?id=68876&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=68876&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=68876&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=68876&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=68876&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=68876&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=68876&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=68876&r=needscript Try newer version: https://bugs.php.net/fix.php?id=68876&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=68876&r=support Expected behavior: https://bugs.php.net/fix.php?id=68876&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=68876&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=68876&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=68876&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=68876&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=68876&r=dst IIS Stability: https://bugs.php.net/fix.php?id=68876&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=68876&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=68876&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=68876&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=68876&r=mysqlcfg

« previous php.standards (#703) next »