Ir para conteúdo
Fórum Script Brasil

LucasFerreira_

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que LucasFerreira_ postou

  1. Estou estudando PHP, mas estou tendo um problema que não consigo solucionar de maneira nenhuma. Já fiz buscas e não achei nada que explicasse o meu caso especifico. O meu teste é composto de 6 arquivos: 'index.php': página web em si'connection.php': faz a conexão com o banco de dados'usermodel.class.php': classe modelo, apenas com as propriedades'usercontroller.class.php': faz a consulta no banco de dados e retorna um array de UserModel'userview.class.php': transforma o array[] em uma resposta para ser exibida no index.php'users.php': faz o require_once dos 4 arquivos acimaSegue abaixo o código de cada um dos arquivos index.php <?php require_once 'php/users.php'; ?> <!doctype html> <html> <head> <title>Object Oriented Programming</title> <meta charset="utf-8"> </head> <body> <h1>User List</h1> <?php $view = new UserView; $view->getArray(); ?> </body> </html> connection.php <?php # Configuration Lines (you can change these lines) $server = 'localhost'; $database = 'oo'; $username = 'root'; $password = 'senha'; # Establishing the Connection (don't change nothing after this line) $link = mysql_connect($server, $username, $password) or die("Failed to connect to the server " . $server); $dbselect = mysql_select_db($database, $link) or die ("Unkown database " . $database); ?> usermodel.class.php <?php class UserModel { # Data Fields private $id; private $username; private $email; private $password; # Constructor function __construct($id, $username, $email, $password) { $this->id = $id; $this->username = $username; $this->email = $email; $this->password = $password; } # Properties function __set($name, $value) { $this->$name = $value; } function __get($name) { return $this->$name; } } ?> usercontroller.class.php <?php class UserController { # Data Fields private $model; private $array; # Constructor function __construct() { $this->model = new UserModel; } # Methods function getArray() { global $model, $array; $query = "SELECT id, username, email, password FROM Users"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) { $model->id = $row['id']; $model->username = $row['username']; $model->email = $row['email']; $model->password = $row['password']; $array[] = $model; } return $array; } } ?> userview.class.php <?php class UserView { # Data Fields private $controller; # Constructor function __construct() { $this->controller = new UserController; } # Methods function getArray() { global $controller; $array = $controller->getArray(); echo $array[0]->username; } } ?> users.php <?php define('DS', DIRECTORY_SEPARATOR); define('ROOT', dirname(dirname(dirname(__FILE__)))); require_once ROOT . DS . 'database' . DS . 'connection.php'; require_once ROOT . DS . 'application' . DS . 'models' . DS . 'usermodel.class.php'; require_once ROOT . DS . 'application' . DS . 'controllers' . DS . 'usercontroller.class.php'; require_once ROOT . DS . 'application' . DS . 'views' . DS . 'userview.class.php'; ?> O problema que ocorre é o seguinte, quando abro a página 'localhost/index.php', ele só exibe os elementos html e apenas até onde botei a função $view->getArray(). Segue o código fonte depois de executada a página: view-source:localhost/index.php <!doctype html> <html> <head> <title>Object Oriented Programming</title> <meta charset="utf-8"> </head> <body> <h1>User List</h1> É a primeira vez que trabalho com orientação a objetos com PHP, então é provável que seja um erro besta e talvez comum, agradeço a ajuda de vocês.
×
×
  • Criar Novo...