[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает
Sergo123
	$subd = explode('.',$_SERVER['SERVER_NAME']);
protected $table_name = "goods_$subd[0]";

Должно считывать с таблицы goods_поддомен, но почему-то не работает



 ! 

М
Давайте своим темам вменяемые названия! На первый раз, устное предупреждение.
Winston
GET
Цитата
protected $table_name = "goods_$subd[0]";


Ээ...это внутри класса все??
Цитата
Должно считывать с таблицы goods_поддомен, но почему-то не работает


Что вообще означает эта фраза?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Sergo123
Цитата (ABC @ 3.01.2014 - 19:23)
Цитата
protected $table_name = "goods_$subd[0]";


Ээ...это внутри класса все??
Цитата
Должно считывать с таблицы goods_поддомен, но почему-то не работает


Что вообще означает эта фраза?

Да внутри класса. Смотри, будет несколько таблиц, название - goods_поддоменсайта. Мы к примеру заходим на сайт test.site.ru и там выводится список новостей из таблицы goods_test.
GET
нельзя так делать, думаю надо сначала просто определить перееменую protected $table_name, что она защищенная а потом уже задать ей значение через __construct можно или __set, ну или в любом другом методе, что-то типа:


$subd=explode('.',$_SERVER['SERVER_NAME']);
$this->table_name = 'goods_'.$subd[0];


пусть меня поправят если не так.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
inpost
$subd = explode('.',$_SERVER['SERVER_NAME']);

Это тоже внутри класса? Точно работать не будет, так как нельзя операции делать при объявлении свойств.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Sergo123
Да и ещё, если я задам значение table_name = 'Таблица которой не существует'; То выдаёт ошибку, что таблицы не существует, а в моём случаем выдаёт просто белый экран.
Sergo123
Цитата (inpost @ 3.01.2014 - 19:42)
$subd = explode('.',$_SERVER['SERVER_NAME']);

Это тоже внутри класса? Точно работать не будет, так как нельзя операции делать при объявлении свойств.

Я делал так: user posted image
GET
Sergo123

$subd вне класса же находится, другая область видимости переменных. Читай про область видимости.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
linker
$table_name = 'goods_' . $subd[0];
И что это за protected?

_____________
Gear Framework
Gear Framework на Github
McLotos
1. если одна и та же переменная должна быть доступна нескольким методам класса то её нужно вынести за методы и уже там указать область видимости
2. заранее задать значение переменной, например при создании экземпляра класса можно в конструкторе класса.
например
class Classname
{
{
тут область видимости} $subdomain
{тут область видимости} $tablename

function __construct()
{
$this->subdomain = explode('.',$_SERVER['SERVER_NAME']);
$this->tablename = "goods".$this->subdomain[0];
}
}

по-моему как-то так =)

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.