Ciao a tutti, sto svolgendo alcuni esercizi sui concetti base della programmazione oggetti solo che ho un problema:
Ho creato un file contente una classe contact.php:
E dalla pagina about.php vorrei richiamare tutti i contatti dalla classe "contact", che sono stati usati in questo caso come oggetti:
Solo che quando vado a vedere l'output sulla pagina about.php il primo contatto, cioè riga 1 (Martha Smith), non ho alcun risultato.
Cosa può essere secondo voi?
Ho creato un file contente una classe contact.php:
PHP:
<?php
/**
* contact.php
*
* Contact class file
*
* @version 1.2 2011-02-03
* @package Smithside Auctions
* @copyright Copyright (c) 2011 Smithside Auctions
* @license GNU General Public License
* @since Since Release 1.0
*/
/**
* Contact class
*
* @package Smithside Auctions
*/
class Contact
{
/**
* First name
* @var string
*/
public $first_name;
/**
* Last Name
* @var String
*/
public $last_name;
/**
* Position in the company.
* @var string
*/
public $position;
/**
* Email
* @var string
*/
public $email;
/**
* Phone number, formatted in string
* @var string
*/
public $phone;
/**
* Metodo di classe per concatenare nome e cognome
* @return string
*/
public function name() {
$name = $this->first_name . ' ' . $this->last_name;
return $name;
}
}
E dalla pagina about.php vorrei richiamare tutti i contatti dalla classe "contact", che sono stati usati in questo caso come oggetti:
PHP:
<?php
/**
* about.php
*
* Content for About us page
*
* @version 1.2 2011-02-03
* @package Smithside Auctions
* @copyright Copyright (c) 2011 Smithside Auctions
* @license GNU General Public License
* @since Since Release 1.0
*/
$item = array(); //inizializzazione array $item
$item = new Contact(array('first_name'=>'Martha', //creazione oggetto $item (che è un array) da Classe "contact.php"
'last_name'=>'Smith',
'position'=>'none',
'email'=>'[email protected]',
'phone'=>''
));
?>
<h1>About Us</h1>
<p>We are all happy to be a part of this. Please contact any of us with questions.</p>
<ul class="ulfancy">
<li class="row0">
<h2><?php echo $item->name();?></h2>
<p>Position: <?php echo $item->position;?>none<br /> <!-- Prelevo dall'oggetto $item (non indicizzato) l'argomento position -->
Email: <?php echo $item->email;?><br />
Phone: <?php echo $item->phone;?><br /></p>
</li>
<li class="row1">
<h2>George Smith</h2>
<p>Position: <br />
Email: [email protected]<br />
Phone: 515-555-1236<br /></p>
</li>
<li class="row0">
<h2>Jeff Meyers</h2>
<p>Position: hip hop expert for shure<br />
Email: [email protected]<br />
Phone: <br /></p>
</li>
<li class="row1">
<h2>Peter Meyers</h2>
<p>Position: <br />
Email: [email protected]<br />
Phone: 515-555-1237<br /></p>
</li>
<li class="row0">
<h2>Sally Smith</h2>
<p>Position: <br />
Email: [email protected]<br />
Phone: 515-555-1235<br /></p>
</li>
<li class="row1">
<h2>Sarah Finder</h2>
<p>Position: Lost Soul<br />
Email: [email protected]<br />
Phone: 555-123-5555<br /></p>
</li>
</ul>
Solo che quando vado a vedere l'output sulla pagina about.php il primo contatto, cioè riga 1 (Martha Smith), non ho alcun risultato.
PHP:
<?php print_r($item);?>
Contact Object ( [first_name] => [last_name] => [position] => [email] => [phone] => )
Cosa può essere secondo voi?