<verÃffentlicht & per Mail versendet> Thanks for your answer! Terje Slettebà wrote: >>From: "Vivian Steller" <vivian.steller@xxxxxxxxxxxxxxxxxxxxx> > >> 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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php