Неожиданная ошибка T_VARIABLE

Хорошо, я знаю, что это довольно распространенный вопрос, но все решения, которые я нашел до сих пор, связаны с отсутствующей полуточкой или фигурной скобкой, обоим из которых я знаю, не для меня.

У меня есть класс, который работает с FINE с этим присваиванием переменной:

session.php:

<?php class session { ... var $host = 'localhost'; ... } ?> 

Отлично. Но я хочу, чтобы данные моей базы данных были в другом файле, поэтому я сделал следующее:

db_creds.php:

 <?php var $db_creds = array( 'host' => 'localhost', ... ); ?> 

session.php

 <?php include('db_creds.php'); class session { ... var $host = $db_creds['host']; ... } ?> в <?php include('db_creds.php'); class session { ... var $host = $db_creds['host']; ... } ?> 

Который тогда дал мне эту ошибку: Parse error: syntax error, unexpected T_VARIABLE in ../session.php on line 74 : Parse error: syntax error, unexpected T_VARIABLE in ../session.php on line 74 , где строка 74 – мое назначение var $host .

Я даже попытался сделать это в session.php , просто чтобы убедиться, что проблема не в include:

session.php

 <?php # include('db_creds.php'); class session { ... var $db_host = 'localhost'; var $host = $db_host; ... } ?> 

… но это просто вызывает ту же ошибку, что и выше.

Может ли кто-нибудь сказать мне, что здесь происходит? Я нахожусь на своем пути!

Переменные здесь не допускаются, свойства должны быть инициализированы константами в PHP:

[…] эта инициализация должна быть постоянной величиной

[ Источник: руководство php.net ]

Используйте конструктор для правильной инициализации значения:

 class session { var $host; function __construct() { $this->host = $db_creds['host']; } } 
  1. первая буква в имени класса должна быть капиталом (класс Session)

  2. вы пишете конструктор

  3. свойства класса доступны с помощью свойства $ this->