Re: String Extension Proposal

From: Date: Sun, 03 Jul 2005 03:57:11 +0000
Subject: Re: String Extension Proposal
References: 1 2 3 4  Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-2530@lists.php.net to get a copy of this message
Heh, my memory must be going bad if I don't even remember my own ideas :) I don't have any strong objections to getting your extension into PECL, however, I do think you should pick something less generic than String for the class name. --Wez. On 7/2/05, Jessie Hernandez <jrhernandez05@gmail.com> wrote: > I searched through the archives and found the following post: > http://www.zend.com/lists/php-dev/200410/msg00344.html. It > seems that the > one who originally mentioned this idea was Wez. Here's what he said in his > post: > > > "- unicode support for strings. Tricky topic this one. It would be > nice to have some kind of engine level support, but I can't think of a > nice way to do it that won't break existing scripts. > > Instead, it would be nice if we had some kind of "String" class (would > be nice to use that as the class name...) that used the overloading > features of the engine to make it smell like a regular string. It > would be aware of, at least, the most common charset encodings (and > perhaps be able to load in tables for others at runtime) and have > methods to concatenate, split, index by character position (not byte > position) etc. etc. and handle differences in character encodings > transparently. > > This can be developed as a PECL extension for now, but once it matures > it would be very nice to see it in the default distribution. I > believe that Derick is working on code for transliteration (that just > went into PECL CVS) that could also be folded into this." > > > My class already "smells" like a regular string in many ways, and it already > has methods to concatenate, index, etc. (there's still several methods that > need to be implemented, though). The only thing I haven't done any work on > are the character encodings/Unicode support. After the Unicode changes are > applied to PHP 5.1, I'll have an idea on how this can be implemented inside > the class. > > I guess what this really boils down to is if Wez' idea is a good one or not. > I personally think it is. Consider the sqlite extension: you can use the > sqlite_* functions if you want to use it in a procedural way, or you can > use the SQLiteDatabase, etc. classes if you want to access the DBs in an > OO-fashion. > > This extension will provide an OO interface to the current "procedural" way > of handling strings, just like the SQLiteDatabase class does to SQLite > databases. > > I like OO, but I am definitely not an OO fanatic. I don't agree that > "everything must be a class" (in fact, this is one of the reasons why I > hate Java). On the other hand, I don't think everything should be handled > in a procedural way. An obvious use of classes is when many operations can > be performed on a set of data, and a String class is a perfect example. > Currently, no single convention is followed for the string handling > functions (some start with str_*, others with str* only, and others don't > have a prefix at all, like addslashes, preg_replace, trim, ucfirst, etc.).. > A String class will group all of these functions into methods, and the > convenience of this can be seen in some IDEs like Zend Studio, where when > you type "->" on an object, all the methods that can be applied to that > object appear. > > It really doesn't matter to me if this gets into the core or if it only > lives in PECL, or whether the name is "String", "StringBuilder", or > whatever. The question is whether such a class will be useful or not, > having in mind what Wez mentioned. > > I'm open to any ideas/criticisms. If anything, like Sara mentioned, such a > class can be used as part of the Zend extension tutorials to demonstrate > how to implement object handlers. > > > -- > Jessie > > > Derick Rethans wrote: > > > On Fri, 1 Jul 2005, Wez Furlong wrote: > > > >> I think there might be some merit to having some kind of String class > >> in the core; IIRC Derick was talking about something like that with > >> full unicode support. > > > > ueh? I've no clue what you're talking about. As a loathe OO quite a bit > > I would never come up with a crazy idea like a String class myself. > > PHP is not Java, and introducting a String class (or any other wrapper > > for a type) into the core of PHP is for me a definite no-no. > > > > Derick > > -- > PECL development discussion Mailing List (http://pecl.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >

« previous php.pecl.dev (#2530) next »