Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Переменная в функции

Сообщения:  [1-5] 

 
 автор: Loki   (21.06.2006 в 15:43)   письмо автору
 
   для: valenok   (21.06.2006 в 14:23)
 

можно. только речь шла о видимости внешних переменных, а эти определены внутри функции.

   
 
 автор: epc   (21.06.2006 в 14:37)   письмо автору
 
   для: Loki   (21.06.2006 в 14:20)
 

спасибо

   
 
 автор: valenok   (21.06.2006 в 14:23)   письмо автору
 
   для: Loki   (21.06.2006 в 14:20)
 

А так уже нельзя:
<?php
function f(){
include(
'script.php');
..
}

   
 
 автор: Loki   (21.06.2006 в 14:20)   письмо автору
 
   для: epc   (21.06.2006 в 14:07)
 

Область видимости переменных не распространяется на функции. Чтобы они были видны внутри функций их надо либо передавать функции в качестве параметра:
<?
$var
="test";

function 
test($var1)
{
 echo 
$var1//выведет test
}
test($var);

либо объявлять переменную глобальной:
<?
$var
="test";

function 
test()
{
 global 
$var;
 echo 
$var// так же выведет test
}
test();

либо использовать суперглобальные массивы
<?
$_GLOBAL
['var']="test";

function 
test()
{
 echo 
$_GLOBAL['var']; // все тоже самое
}
test();

   
 
 автор: epc   (21.06.2006 в 14:07)   письмо автору
 
 

Может быть это очень просто , но я в программировании разбираюсь не очень хорошо, поэтому прошу вашего совета:

Есть файл classes.inc - в нем описаны различные классы и функции

и есть другой файл base.inc - в котором хранятся различные переменные (например префикс к базе данных, используемый в данном скрипте)

Этот префикс небходим почти для многих классов и функций в файле classes.inc

Однако если я вставляю include("../main/base.inc "); в самом начале документа, то описанные переменные в инкапсулируемом файле переменный вообще не определяются в функциях.

Если я вставляю эту строку в конкретный класс, то в функциях, описанных в этом классе тоже не могу получить доступ к переменным.

И только если я встваляю строку include("../main/base.inc "); в конкретную функцию то все работает нормально. Однако функций у меня много и я чувствую что данный способ является неправильным.

Подскажите пожалуйста как быть.

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования