Ir para conteúdo

POWERED BY:

Arquivado

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

bigodines

require_once dentro de classe

Recommended Posts

como faço para dar um require_once dentro de uma classe?eu tentei pelo método normal e deu um fatal error.estou tentando assim:

<?class SimpleCatalog {      	/* private variables */	var $_db = null;   		function SimpleCatalog( $path=".." ) {				require_once( $path . "/configuration.php" ) or die ( "[SimpleCatalog] Couldn't include configuration file. Please check the path");		require_once( $path . "/includes/database.php") or die ( "[SimpleCatalog] Couldn't include database file. Please check the path");		require_once("View.php") or die("[SimpleCatalog] couldn't include View.php. Please check your files");		}// segue o código}$sc = new SimpleCatalog();?>
e else tá me retornando

Warning: SimpleCatalog::require_once(1) [function.SimpleCatalog-require-once]: failed to open stream: No such file or directory in /home/lambari/simpleCatalog/SimpleCatalog.php on line 12Fatal error: SimpleCatalog::require_once() [function.require]: Failed opening required '1' (include_path='.:/opt/lampp/lib/php') in /home/lambari/simpleCatalog/SimpleCatalog.php on line 12

Mesmo que eu deixe só o require_once("View.php"); que etá no mesmo diretório. Ele não inclui.se eu incluir fora da classe, ele funciona perfeitamente.[edit]corrijido. o problema era no "or die();" foi só tirar e bufou.[/edit]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você chama um script pelo "require_once" (ou "require", "include" ou "include_once"), pense sempre que o caminho relativo deve ser em relação ao arquivo em execução, e não ao arquivo da classe (que, não sei no seu caso, mas na maioria das vezes é um arquivo separado daquele que está em execução).

 

Uma maneira de você resolver isso é chamar a constante "__FILE__" dentro da classe, que retorna o caminho absoluto para o script em que ela foi chamada, e não para o script em execução. Portanto, um dirname(__FILE__) retornaria o caminho para o diretório do arquivo da classe.

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.