Pergunta

Esta provavelmente deve ter uma resposta simples Eu só não consigo descobrir.

De qualquer forma, eu tenho um documento php e dentro dele eu defino <?php $pathprefix = '../'; ?>

Mais tarde, no documento que usar um <?php require([somefile.php]); ?> e dentro de somefile.php, eu tenho uma linha que diz <?php echo($pathprefix); ?> mas o '../' I atribuído a $ PATHPREFIX nunca aparece. Ele age como a variável não foi instanciado. Qual é o meu problema?

Foi útil?

Solução

Realmente precisa ver o seu código-fonte para determinar o escopo. Com o que você forneceu aqui é duas opções:

Situado $ GLOBALS

file1.php:

$GLOBALS['pathprefix']= '../';

file2.php:

require('file1.php');
print_r($GLOBALS['pathprefix']);

Use uma classe

file1.php:

class Settings {
 const PATH_PREFIX= '../';
}

file2.php:

require('file1.php');
print_r(Settings::PATH_PREFIX);

Entenda Âmbito em PHP

http://www.php.net/manual/en /language.variables.scope.php

Boa sorte.

Outras dicas

A variável está fora do escopo na "somefile.php". Você poderia declarar a variável global, ou seja global $pathprefix = '../'. Então, em somefile.php global $pathprefix; colocar no topo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top