You are here: Re: [PHP] General question: packaging in PHP « PHP « IT news, forums, messages
Re: [PHP] General question: packaging in PHP

Posted by Vivian Steller on 01/30/05 15:34

<veröffentlicht & per Mail versendet>

Thanks for your answer!

Terje Slettebø wrote:

>>From: "Vivian Steller" <vivian.steller@informatik.uni-ulm.de>
>
>> i've a general question concerning PHP's architecture.
>>
>> Why isn't there a native packaging concept in PHP?
>
> This was also suggested on comp.lang.php, recently (the "nested class"
> thread), called "namespaces", but there wasn't a lot of enthusiasm for it.
> Apparently, it was even implemented at one point, but then subsequently
> dropped. I've found it difficult to find the relevant discussion in the
> archive (possible the internals-list or Zend's engin2-list), could anyone
> provide a link?
>
>> I think php became much more powerfull with the extended OOP features
>> introduced in PHP5 - without a packaging concept you couldn't use these
>> features "in big business" (in terms of sharing classes/libraries). I
>> know the discussion of OOP features vs. PHPs scripting capabilities, but
>> IMHO doing the half way of OOP isn't right...
>
> I guess package/namespace doesn't have a lot to do with OO (except that
> they both allow grouping of functionality, and avoiding name collision,
> but that's not the only benefit of OO), but as there hasn't been any
> enthusiasm for overloading, either (not even for user-defined types, where
> you _can_ use "type hints" in function signatures), and it's common in OO
> languages, I guess you have a point.
Thanks for metioning this issue! This is another point where I think OO is
done the half way in PHP:

Why do we need some implicit type check, like
public method(Type $type)
if we then loose the optional parameter advantage?

Either some polymorphism mechanism should be implemented, or something like
public method(Type $type = new MyType())
should be able being passed through the interpreter..

also the primitive datatypes should be (exceptionally) used here:
public method(string $argument)

Otherwise (IMHO) the typecheck mechanism is useless.

> Interestingly, I found that Perl has
> the possibility of function overloading (also a language that's
> dynamically typed)
> (http://www.math.tu-berlin.de/polymake/perl/overload.html) It also has -
> like Python - operator overloading. But is there any enthusiasm for that
> in the PHP community, either? Nah...
regrettably... :(

>
>> Are there any thoughts about that in future releases?
>> What do other developers think about this issue?
>> How do organize multiple used classnames?
>
> The common answer is: "Use a prefix"...
but i really dislike using cryptic and long prefixes to ensure uniqueness...
dots in the classname (ok, doing it like java) would be so nice, gr**

>
> Regards,
>
> Terje

vivian

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация