Re: PHP5 extensions: using existing functionnames as method names

php.internals

Unnamed Person

19 years ago
>It is possible to name a method like an existing function, I'm not sure >what you are doing exactly but it works here.
I've tried: STRING_METHOD(String, trim) {...} (Yes, I'm trying to build a string class) that means that I also redefinied the Macros. Then I've changed the Macros from PHP_METHOD and PHP_ME to ZEND_NAMED_FUNCTION and ZEND_FENTRY. Still on startup "PHP Warning: Function registration failed - duplicate name - trim" appears.
>When your class is called zip and you have a function called zip_open, >it will conflict with the function name when you build against php < >5.2.0. It is fixed in 5.2 and a work around exists, see ext/zip for an >example.
I haven't found any real differences (but now I know that there is more than one way to create a class). So I will have to wait for 5.2 to get a trim-method? Daniel

Pierre Joye

19 years ago
Hello, On 9/13/06, danhen@email.de <danhen@email.de> wrote:
> >It is possible to name a method like an existing function, I'm not sure > >what you are doing exactly but it works here. > > I've tried: STRING_METHOD(String, trim) {...} (Yes, I'm trying to build a string class) > that means that I also redefinied the Macros. Then I've changed the Macros from PHP_METHOD > and PHP_ME to ZEND_NAMED_FUNCTION and ZEND_FENTRY. > > Still on startup "PHP Warning: Function registration failed - duplicate name - trim" > appears. > > >When your class is called zip and you have a function called zip_open, > >it will conflict with the function name when you build against php < > >5.2.0. It is fixed in 5.2 and a work around exists, see ext/zip for an > >example. > > I haven't found any real differences (but now I know that there is more than one > way to create a class). > > So I will have to wait for 5.2 to get a trim-method?
No, as I said it works well before 5.2 except for zip_* function name and a uip class. Can you show some code? It will help to figure out what's wrong. --Pierre --Pierre

Pierre Joye

19 years ago
On 9/13/06, Pierre <pierre.php@gmail.com> wrote:
> No, as I said it works well before 5.2 except for zip_* function name > and a uip class.
I mean for zip_* function names and a zip class :)