Richard Quadling wrote:
2008/9/26 Nathan Rixham <[EMAIL PROTECTED]>:
Hi All,

Can anybody answer the following question for me please.

Why not follow (exactly) Java's strong static package/namespace system
rather than a home grown dynamic namespace system?

It works, it's common, logical, robust, a working model to follow, and ties
in well with the PHP on Java movement.

Regards,

Nathan

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



From what I understand, JAVA is compiled and PHP isn't. PHP can
include namespaces/classes/etc. at run time. Whereas everything has to
be known upfront.



Richard Quadling wrote:
> 2008/9/26 Nathan Rixham <[EMAIL PROTECTED]>:
>> Hi All,
>>
>> Can anybody answer the following question for me please.
>>
>> Why not follow (exactly) Java's strong static package/namespace system
>> rather than a home grown dynamic namespace system?
>>
>> It works, it's common, logical, robust, a working model to follow, and ties
>> in well with the PHP on Java movement.
>>
>> Regards,
>>
>> Nathan
>>
>> --
>> PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
> From what I understand, JAVA is compiled and PHP isn't. PHP can
> include namespaces/classes/etc. at run time. Whereas everything has to
> be known upfront.
>
>

Thanks Richard, but you know what.. I asked completely the wrong question (it would appear I as everybody else, has very strong feelings on this); the problem/niggle here is that namespaces do not help me as a developer in the way they should; they're a bastardisation of namespaces to allow people to either - in fact I'm going to stop the ranting as it's pointless.

Here's what *I* /as an OO developer/ need(?want):

<?php

package com.mydom.thispackage
{
  import com.anotherdom.MysqlDbHandler as DbHandlerA;
  import com.somedom.DbHandler as DbHandlerB; # "as" makes this easier
  import com.mydom.thatpackage.RssParser; # we don't have to "as"
  import net.php.pecl.Tidy into TidySpace; # "into namespace"
  import org.nicedom.alwaysusethese.*; # why not?

  public class MyClass # visibility on classes
  {
    private $dba:DbHandlerA = new DbHandlerA();
    private $dbb:DbHandlerB = new DbHandlerB();
    protected $xmlString:String;

    public function __construct( String $xml ):void #return types
    {
      if( TidySpace::tidy_is_xml( $xml ) ) { #namespace function call
        $this->xmlString = TidySpace::tidy_repair_string( $xml );
      }
    }

  }

}
?>

think that handle's everything; encourages a fixed file hierarchy for classes as well which would save so many headaches; additionally allows for "import" instead of the pesky include/require or auto-loading.

*sorry*

php dev's if you can do the above I'll be your best friends forever.

ps: Yep I know I can avoid namespaces if I want (but can't really when other packages I'm using haven't avoided them..) - namespaces address a problem, which is there, and thus needs a solution, so will have to use them :)

Regards & Great Work!

Nathan

(bows out)

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to