Re: Avoid object twice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please look at my.php

my.php load
$obj=new My("Hello");
$obj->buff();

so, if a.php load, it absolutely got "hello" in load b.php

Regards,
Yui

2008/6/3 Thijs Lensselink <dev@xxxxxxxx>:
> Quoting Yui Hiroaki <hiroakiyui@xxxxxxxxx>:
>
>> Thank you for a good suggest!
>>
>> Somehow, I have to execute my.php also.
>> This program have to run.
>> 1)My.php
>> 2)b.php
>>
>> My.php show "Hello" -> it is OK,
>> b.php shows
>>  "Hello"
>> "Good"
>>
>> it is NOT good. I need to get only "Good"
>>
>>
>> Please give me a suggestion.
>>
>> Regards,
>> Yui
>> 2008/6/3 James Dempster <letssurf@xxxxxxxxx>:
>>>
>>> I suggest you don't put code other than class structures in class files.
>>> Also don't execute My.php just execute b.php which though __autoload
>>> includes My.php.
>>>
>>> -----------------b.php----------------
>>> <?php
>>> function __autoload($class_name) {
>>>  include_once $class_name . '.php';
>>> }
>>>
>>> $obj=new My("Hello");
>>> $obj->buff();
>>>
>>> $objref=new My("Good");
>>> $objref->buff();
>>>
>>> -----------------------------------
>>>
>>> ----------My.php--------------
>>> <?php
>>>
>>> Class My{
>>>       private $word;
>>>       function __construct($getword){
>>>       $this->word=$getword;
>>>       }
>>>       public function buff(){
>>>       echo $this->word."<br />";
>>>       }
>>> }
>>>
>>>
>>> /James Dempster
>>>
>>> On Tue, Jun 3, 2008 at 9:17 AM, Yui Hiroaki <hiroakiyui@xxxxxxxxx> wrote:
>>>>
>>>> HI!
>>>>
>>>> I had mistake in code in php.
>>>>
>>>> When I excute My.php, it say "Hello"
>>>> When I excute b.php, it say
>>>> Hello
>>>> Good
>>>>
>>>> I would like to execute b.php and show
>>>> only "Good"
>>>>
>>>> If you know it ,please teach me!
>>>>
>>>> Here is code below;
>>>>
>>>> -----------------b.php----------------
>>>> <?php
>>>> function __autoload($class_name) {
>>>>  include_once $class_name . '.php';
>>>> }
>>>>
>>>>
>>>> $objref=new My("Good");
>>>> $objref->buff();
>>>> ?>
>>>> -----------------------------------
>>>>
>>>> ----------My.php--------------
>>>> <?php
>>>> $obj=new My("Hello");
>>>> $obj->buff();
>>>>
>>>>
>>>> Class My{
>>>>       private $word;
>>>>       function __construct($getword){
>>>>       $this->word=$getword;
>>>>       }
>>>>       public function buff(){
>>>>       echo $this->word."<br />";
>>>>       }
>>>> }
>>>> ?>
>>>> --------------------------------------
>>>> Regards,
>>>> Yui
>>>>
>>>>
>>>> 2008/6/3 James Dempster <letssurf@xxxxxxxxx>:
>>>> > I don't see how it's possible for you to get "Hello" after "Good",
>>>> > when
>>>> > the
>>>> > file that cause's "Hello" is required to do "Good"
>>>> >
>>>> > /James
>>>> >
>>>> > On Mon, Jun 2, 2008 at 2:00 PM, Yui Hiroaki <hiroakiyui@xxxxxxxxx>
>>>> > wrote:
>>>> >>
>>>> >> Please take a look at code.
>>>> >>
>>>> >> --------a.php--------
>>>> >>
>>>> >> $obj=new my("Hello");
>>>> >> $obj->buff();
>>>> >>
>>>> >>
>>>> >> Class my{
>>>> >>
>>>> >> private $word;
>>>> >> function __construct($getword){
>>>> >>       $this->word=$getword;
>>>> >> }
>>>> >> public function buff(){
>>>> >>     echo $this->word."<br />";
>>>> >> }
>>>> >> --------------------------------------
>>>> >>
>>>> >>
>>>> >> -----b.php-----------------------
>>>> >>
>>>> >> function __autoload($class_name) {
>>>> >>    include_once $class_name . '.php';
>>>> >> }
>>>> >>
>>>> >>
>>>> >> $objref=new my("Good");
>>>> >> $objref->buff();
>>>> >> --------------------------------------------
>>>> >>
>>>> >>
>>>> >>
>>>> >> I get an Echo;
>>>> >>
>>>> >> Good
>>>> >> Hello
>>>> >> Hello
>>>> >>
>>>> >> I do not need to get Hello twice.
>>>> >>
>>>> >> When I b.php , $obj=new my("Hello") is loaded.
>>>> >>
>>>> >>
>>>> >> Do you have any adia to avoid load $obj in a.php twice?
>>>> >>
>>>> >> Regards,
>>>> >> Yui
>>>> >>
>>>> >> --
>>>> >> PHP General Mailing List (http://www.php.net/)
>>>> >> To unsubscribe, visit: http://www.php.net/unsub.php
>>>> >>
>>>> >
>>>> >
>>>
>>>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
>
> If you only want to see "Good" Then don't run it twice.
> Take James's suggestion and try it again:
>
> -----------------b.php----------------
> <?php
> function __autoload($class_name) {
>   include_once $class_name . '.php';
> }
>
> $objref=new My("Good");
> $objref->buff();
>
> -----------------------------------
>
> ----------My.php--------------
> <?php
>
> Class My{
>        private $word;
>        function __construct($getword){
>        $this->word=$getword;
>        }
>        public function buff(){
>        echo $this->word."<br />";
>        }
> }
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux