С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 20.02.2010
Сообщений: 29

ajah и область видимости

06.11.2011, 19:52. Показов 1063. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, форумчане. Помогите пожалуйста разобраться.
Я при загрузке страницы (через ajah-запрос) вызываю скрипт инициализирующий необходимые классы в init.php
PHP
1
2
3
4
5
6
7
<?php
require 'db_model.php5';
require 'reader.php5';
$dbModel = new DB_Model();
$reader = new Reader();
echo('reader is init');
?>
Далее, после загрузки уже, пытался вызвать функцию объекта $reader (опять через ajah). У меня не получилось, не видит php переменной. Попробывал снова тогда создать класс.
PHP
1
2
$reader = new Reader();
$reader->init($_POST['name']);
Результат
- не видит даже описание класса.
Как видно, 'reader is init' выводится раньше чем вылетает ошибка, дело не в порядке загрузки скриптов.

Почему такое может произойти ума не приложу. Помогите разобраться, как сделать описываемые мною классы и переменные видимыми?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.11.2011, 19:52
Ответы с готовыми решениями:

Область видимости
&lt;?php if(isset($_POST)){ $count = 0; $m = array(); getVideo(1); getVideo(2);

Область видимости
Доброго времени суток. Есть скрипт регистрации (который уже наверно всем надоел :D), в нем я подключаю файл function.php и вызываю функцию...

Область видимости
Объясните с чем связана такая область видимости локальных переменных &lt;?php $a = 5; function foo() { echo $a; } foo(); ...

4
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
07.11.2011, 03:17
При каждом обращении к серверу надо все по-новой инициализировать и подключать. Т.е. нельзя сделать один запрос к серверу, на сервере подключить какие-то модули, а потом следующим запросом использовать какие-то функции в этих модулях. PHP при первом запросе подключит модули, выполнит какие-то действия, дойдет до конца скрипта, отчистит память и прекратит работу. Апач так же работает. Каждый запрос к серверу для него это как новый клиент.
1
0 / 0 / 0
Регистрация: 20.02.2010
Сообщений: 29
07.11.2011, 08:31  [ТС]
Я пока плохо разбираюсь в php - мне нужно очень большой объем информации (1КБ) сделать доступным из нескольких запросов. Каждый раз подгружать долго. Да и ООП во многом теряет свой смысл при таком раскладе. Должен быть способ передавать данные между запросами.
0
3 / 3 / 1
Регистрация: 22.10.2011
Сообщений: 84
07.11.2011, 13:30
RealDreamy,
Может бред говорю, но попробуй использовать include

Выложи полный код, ото не понятно что где. Если всё вышеописанное - в "одном скрипте" - должно работать.
0
0 / 0 / 0
Регистрация: 20.02.2010
Сообщений: 29
07.11.2011, 14:46  [ТС]
include не помогает. Код расположен в разных скриптах естественно. Реализовал задачу по другому, спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.11.2011, 14:46
Помогаю со студенческими работами здесь

Область видимости переменных
Здравствуйте, у меня небольшое затруднение, я не могу понять почему значения у глобальной переменной не меняется. Так же пробовал через...

Область видимости переменных
Добрый день форумчане! Вопрос так сказать новичка.Есть глобальные переменные и локальные.Если обращатся к глобальной внутри функции то надо...

Область видимости переменной
Как сделать, чтобы переменная из config.php была видна в ф-ции foo? config.php &lt;?php $x = 7; main.php &lt;?php ...

Область видимости переменной
Здравствуйте! Пишу вот такой код(знаю, что не совсем красивый), но переменная $associated, почему-то не хочет быть видна в указанном...

Область видимости констант
Здравствуйте. Есть файл const.php, где будут хранится все константы(пока есть только одна:)) &lt;?php define(&quot;SERVER&quot;,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru