[Info-vax] Port of PHP 5.3.10 for VMS about to be released (survey for features)
VAXman- at SendSpamHere.ORG
VAXman- at SendSpamHere.ORG
Thu Mar 8 19:38:09 EST 2012
In article <jjb4qi$3ou$1 at adenine.netfront.net>, Mark Berryman <mark at theberrymans.com> writes:
>I thought I'd do a port of 5.3.10 in order to get VMS up to date in the
>5.3 strain of PHP. As part of this work, I'm looking to make a few
>additions to the OpenVMS extension.
>
>Mark Daniel, he of WASD fame, wrote a DCLSymbol extension that allowed
>one to set and get DCL symbols from PHP. This code has been folded into
>the OpenVMS extension with his kind permission.
>
>I'd also like to add the ability to set and get logical names. The
>question is: what is the best way to implement this?
Hi Mark. I could have used this to combat my PivotX issues. ;)
>One way is to copy the existing getdvi implementation:
>
>getdvi = openvms_getdvi(item_code, device_name)
>This allows one item code per call and returns the value of the item
>code, null if it is empty, and false (plus a warning) if the item_code
>doesn't exist. The default device_name is TT.
>
>So, choice 1:
>trnlnm = openvms_trnlnm(logname, tabname, item_code);
>with tabname and item_code being optional and the default item_code
>being LNM$_STRING.
>
>Choice 2:
>Duplicate the syntax of DCL. This permits the full functionality of
>SYS$TRNLNM but is still one item code at a time. All flags and items
>are specified and returned as strings.
>
>Choice 3:
>Duplicate the syntax of SYS$TRNLNM and have itmlst passed as a hash.
>The result would fill in the values of the items listed in the hash and
>the result returned by the call itself would simply be true or false.
>
>The problem here is what is the best way to specify and return flags or
>constants (e.g. LNM$M_CASE_BLIND or PSL$C_SUPER). PHP will not allow
>variable or constant names with a $ in them. Some possibilities:
>
>1. replace the $ with an _ and define them as constants
>2. strip the prefix up through the _ and define the remainder as a
>constant (but this runs the risk of needing the same name for multiple
>values).
>3. Pass and return them as strings.
>4. Define a VMS super global with the needed values in it (e.g.
>$_VMS['LNM$M_CONCEALED']) that the programmer could retrieve and use as
>an integer.
>5. Other thoughts?
>
>I'm hoping to get some comments on this, or any other feature you'd like
>to see with PHP on VMS.
What I did to satisfy my needs was:
system('DEFINE/GROUP logical_name equivalence_value');
If you make it a process logical, at least with Apache on VMS, it's really
of no use; the logical may not live to convey any information to the next
HTTP transaction that need to see/read it.
I'd like to see these extensions. I'm not using this "logical name hack'
extensively, so the overhead to spawn the DEFINE/GROUP isn't a big deal
but I'd certainly welcome an extension; especially, one that others that
install this will have available.
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG
Well I speak to machines with the voice of humanity.
More information about the Info-vax
mailing list