[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]