Actually... on finnish keyboard on mac... 3 (Shift + Alt + 7). =P I don't know if there's another constant to it... that's my first patch ever! Anyway... let's see other's opinions.
Cheers, On Thu, Jun 18, 2009 at 12:57 PM, Kalle Sommer Nielsen<ka...@php.net> wrote: > Hi Guilherme > > 2009/6/18 Guilherme Blanco <guilhermebla...@gmail.com>: >> Hi guys, >> >> >> First of all, don't laugh! =D >> >> The idea and patch are extremely simple. >> Based on recent experiments with Namespaces and FQCN thing I spoke >> with Johannes a couple of days ago, I decided to dive into source and >> try a possible patch. >> That's my first attempt to contribution to internals. Mainly I try to >> help on PHP side. > > I don't think we should introduce a new special constant for this, > seems sort of useless to me, I know theres issues with FQCN, but I'll > rather write: > > $ns = '\\' . $dynamic_class_name . '\\' . $blah; > > than: > $ns = NS_SEPARATOR . $dynamic_class_name . NS_SEPARATOR . $blah; > > so im a -1 for introducing this in PHP, even though im using a danish > keyboard that doesn't have \, but thats not a reason not to press 2 > buttons at once, that you're already used to if you code. > >> >> The idea is to create a new global constant NS_SEPARATOR to be used. I >> know constants are used to represent internal values or values that >> differ between different OS's, but the main idea here is to prevent >> possible issues from user land and also to help people that do not >> have "\" key in their keyboard (like finnish keyboards). >> Here is a clear usage of this new constant: >> http://www.php.net/manual/en/language.namespaces.dynamic.php#91552 >> >> I don't really know if the file is the right one to have this >> constant, but it works for me perfectly. >> >> >> Index: Zend/zend_constants.c >> =================================================================== >> RCS file: /repository/ZendEngine2/zend_constants.c,v >> retrieving revision 1.71.2.5.2.7.2.17 >> diff -u -r1.71.2.5.2.7.2.17 zend_constants.c >> --- Zend/zend_constants.c 12 Jan 2009 21:54:37 -0000 >> 1.71.2.5.2.7.2.17 >> +++ Zend/zend_constants.c 18 Jun 2009 15:29:52 -0000 >> -151,6 +151,13 @@ >> c.value.type = IS_BOOL; >> zend_register_constant(&c TSRMLS_CC); >> } >> + >> + /* Namespace separator constant */ >> + static char nssep_str[2]; >> + nssep_str[0] = '\\'; >> + nssep_str[1] = '\0'; >> + >> + REGISTER_MAIN_STRING_CONSTANT("NS_SEPARATOR", nssep_str, >> CONST_PERSISTENT | CONST_CS); >> } > > This is most likely to break the Windows build without looking at the > code any closer because of the declaring, just use: > REGISTER_MAIN_STRING_CONSTANT("NS_SEPARATOR", ZEND_NS_NAME, > CONST_PERSISTENT | CONST_CS); > > (I think it was ZEND_NS_NAME for the seperator) > >> >> >> >> Cheers, >> >> -- >> Guilherme Blanco - Web Developer >> CBC - Certified Bindows Consultant >> Cell Phone: +55 (16) 9215-8480 >> MSN: guilhermebla...@hotmail.com >> URL: http://blog.bisna.com >> São Paulo - SP/Brazil >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > > > > -- > regrads, > > Kalle Sommer Nielsen > ka...@php.net > -- Guilherme Blanco - Web Developer CBC - Certified Bindows Consultant Cell Phone: +55 (16) 9215-8480 MSN: guilhermebla...@hotmail.com URL: http://blog.bisna.com São Paulo - SP/Brazil -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php