[EMAIL PROTECTED] wrote:
i dissagree $this in a static object should point to the default
declared object,
and if that is unacceptable because u want the the default data to be
read only,
then it should be allowed for methods at least.

example
class lubas class
{
  var $tbl      = "";
  var $fmt      = 1;
  function datfmt($d,$fmt) { return(""); }
  function lufmt($db,$id,$fmt) {
        $db->query("select * from " . $this->tbl . " where id=$id");
        $db->next_record();
        $this->datfmt($db->Record,$fmt); }
} // class

class lunam extends lubas
{
  var tbl       = "names";
  var $fmt      = 1;
  function datfmt($arr,$fmt) {
        return($arr["lname"] . "," . $arr["fname"]); }
}

right now the only way this class arrangments works is if the top class
gets allocated

but i belive that lunam::lufmt($db,1,1); should work every thing is
static
if class::data is not avalible and just class::method in static class
then
the static data could be written as a constant function

class lubas class
{
  function tbl() { return(""); }
  function datfmt($d,$fmt) { return(""); }
  function lufmt($db,$id,$fmt) {
        $db->query("select * from " . $this->tbl() . " where id=$id");
        $db->next_record();
        $this->datfmt($db->Record,$fmt); }
} // class

class lunam extends lubas
{
  function tbl() { return("names"); }
  function datfmt($arr,$fmt) {
        return($arr["lname"] . "," . $arr["fname"]); }
}


but either way $this needs to be accessable in static functions or there
not wothless but not worth as much as they could and should be

right now i use this style of classes and dont like haveing to define a
global var, and declare it global evry where it gets used, when it is a
static class in evry sence of the word

just my 2 cents
>
 
> From:             [EMAIL PROTECTED]
> Operating system: Linux 2.2
> PHP version:      4.0.4pl1
> PHP Bug Type:     Scripting Engine problem
> Bug description:  Static classes sometimes have a $this pointer
> 
> If you call a static method from within an object, the static method will inherit 
>the $this pointer of the calling object. This script demonstrates the problem:
> 
> <?php
> 
> error_reporting(E_ALL);
> 
> class StaticClass {
>     function doSomething() {
>         echo $this->data;
>     }
> }
> 
> class Instantiated {
>     var $data;
> 
>     function Instantiated($data) {
>         $this->data = $data;
>         StaticClass::doSomething();
>     }
> }
> 
> $ob = new Instantiated('foo');
> 
> ?>
> 
> This is rather confusing behavior - $this should be out of scope inside static 
>methods no matter what.
> 
> --
> Edit Bug report at: http://bugs.php.net/?id=9005&edit=1
> 
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
My opinions are my own and not that of my employer even if I am self
employed
Tech Net, Inc.            --FREE THE MACHINES--                 
651.224.2223
627 Palace Ave. #2           [EMAIL PROTECTED]              
[EMAIL PROTECTED]
St. Paul, MN 55102-3517        www.tnss.com         
wanted    : adsl/cable modem with static ip at reasonable price
accept-txt: us-ascii,html,pdf
accept-dat: ascii-delimited,sql insert statments

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to