изменения переменной php - PullRequest
0 голосов
/ 11 апреля 2011

ИСПРАВЛЕНО!


У меня есть 2 php-страницы, которые определяют переменную "title" как нечто другое.Однако отображение переменной на обеих страницах приводит к тому, что значение переменной первой страницы отображается на обеих страницах.Любая идея, почему и как я могу получить переменную для каждой страницы?

первая страница php:

<?php
    $title = "Posts";
    echo $title;
 ?>

Отображается «Сообщения».

вторая страница php:

<?php 
  $title = "New Posts";
  echo $title; 
?>

Здесь также по некоторым причинам отображаются сообщения.Разве эта страница не должна отображать "Новые сообщения"?

1 Ответ

0 голосов
/ 11 апреля 2011

Если вы включаете вторую страницу на первой странице до , то вы определяете $title на первой странице, тогда включенное значение будет перезаписано.

Все ли ваши переменныеопределен в глобальном пространстве имен?Если это так, то эта проблема будет неизбежной, когда вы включаете файлы PHP в другие файлы PHP.

Вы можете решить проблему, правильно инкапсулировав переменные в классе или пространстве имен;например:

В первом файле:

<?php
namespace included;
$title = "original title!";
?>

И во втором файле:

<?php
namespace including;
require_once "file_one.php";
$title = "new title!";

echo \included\$title;
echo \including\$title;
echo $title;
?>

, который будет отображаться:

original title!
new title!
new title!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...