You are here: Re: [PHP] OOP Newbie - why does this not work? « PHP « IT news, forums, messages
Re: [PHP] OOP Newbie - why does this not work?

Posted by Stephen Leaf on 10/21/05 07:17

Here is the working code
You had __constructor() it's __construct()

notice I also moved your saying declaration outside of the constructor.
this is to make it a class level variable.
the way that you had it set it was only in scope until you finished the
construct code.

I guess I was wrong about the var bit. I do remember having lots of issues
with it back a few months ago. perhaps theses were fixed in newer versions.
most likely var is depreciated in php5. (can someone confirm this?)

<html>
<head>
<title>PHP Class testing</title>
</head>
<body>
<br/>
<p>This is outside the php code block</p>
<br/>
<?php
echo "Start defining the class here: <br/>" ;
class Test {
public $saying = "";

function __construct() {
$saying = "Im in the Test Class" ;
}
function get() {
return $saying ;
}
}

$liveclass = new Test ;
echo $liveclass->get() ;
echo "<br/>" ;
echo "This is in the php code block" ;
         ?>
</body>
</html>


On Thursday 20 October 2005 09:53 pm, Bob Hartung wrote:
> Changed to:
> var $saying ;
> public $saying = "....."
>
> Again, blank page. Funny though, even the <title>...</title> html block
> is not rendered. Again, same beavior on 2 FC4 and 1 Win32 install.
>
> Tnx
>
> Bob
>
> Stephen Leaf wrote:
> > Sorry.. 1 more thing.
> > php5 does not use var.
> > use public $variable=value; instead.
> > public is only within a class however. you cannot use it outside.
> >
> > On Thursday 20 October 2005 09:35 pm, Bob Hartung wrote:
> >>Hi all,
> >> I'm trying to get started in OOP with PHP. I have the following
> >>short code snipped. I'f I comment out the 'class Test' definition and
> >>the following references to it, it prints
> >> This is outside the php code block
> >>
> >> and
> >>
> >> Start defining the class here:
> >>
> >>If I do not comment out the code as noted, then the page returned is
> >>totally blank. It does this with or without using the constructor.
> >>PHP 5 on apache. Same behavior both on Win32 and FC4.
> >>
> >>All help appreciated to get me going.
> >>
> >>Code Snippet:
> >>
> >><html>
> >>
> >><head>
> >> <title>PHP Class testing</title>
> >>
> >></head>
> >><body>
> >> <br>
> >> <P>This is outside the php code block</P>
> >> <br>
> >> <?php
> >> echo "Start defining the class here: <BR>" ;
> >>/* class Test
> >> {
> >>
> >> function __constructor()
> >> {
> >> var $saying ;
> >> $saying = "Im in the Test Class" ;
> >> }
> >>
> >> function get()
> >> {
> >> return $saying ;
> >>
> >> }
> >>
> >> var $liveclass ;
> >> $liveclass = new Test ;
> >> echo $liveclass->get() ;
> >> echo "<BR>" ;
> >> echo "This is in the php code block" ;
> >>*/
> >> ?>
> >>
> >></body>
> >></html>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация