Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brhvitor6

[Resolvido] Class "dentro" de outra class

Recommended Posts

Boa tarde pessoal, estou com o seguinte codigo:

 

function Query($QueryString)
{
	$query = mysql_query($QueryString);
	function NumRows()
	{
		return mysql_num_rows($query);
	}
	function FetchArray()
	{
		return mysql_fetch_array($query);
	}
  	}

 

E ele esta dentro de uma classe, como posso fazer para chamar dessa forma: classe->Query("query")->NumRows() ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve transformar o que hoje é uma função em uma classe.

 

Assim, como você disse:

 

classe->Query($query)

 

retornaria uma instância dessa nova classe

 

<?php

class QueryStatement
{
   private $resource;

   public function __construct($resource)
   {
       if (FALSE === strpos(get_resource_type($resource), 'mysql')) {
           throw new InvalidArgumentException("Invalid resource.");
       }
       $this->resource = $resource;
   }

   public function numRows()
   {
       return mysql_num_rows($this->resource);
   }

   public function fetchArray()
   {
       return mysql_fetch_array($this->resource);
   }
}

class Query
{
   public static function runQuery($query)
   {
       return new QueryStatement(mysql_query($query));
   }
}

mysql_connect('localhost','root','root');

print Query::runQuery('show databases;')->numRows();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.