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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Использование переменных из конфиг файла в функции
 
 автор: x2x2   (16.01.2009 в 03:51)   письмо автору
 
 

Есть файл index.php , например:
<?php
require_once( 'conf.php' );

function 
name($name){
$new=$new2;
}
?>


В файле конфига conf.php есть переменная $new2
<?php
$new2
=123;
?>


Вопрос почему переменная $new2 не работает в function ? И как заставить её там работать именно из файла конфига?

  Ответить  
 
 автор: sim5   (16.01.2009 в 04:00)   письмо автору
 
   для: x2x2   (16.01.2009 в 03:51)
 

Потому, что функция не знает о ее существовании. Вы должны либо объявить ее глобальной в фунции, либо передать в функцию.

  Ответить  
 
 автор: Николай2357   (16.01.2009 в 07:34)   письмо автору
 
   для: x2x2   (16.01.2009 в 03:51)
 

Можно еще использовать не переменные, а константы. Допустим так:
conf.php
<?php 
define
('NEW2'123);
?>

index.php
<?php 
require_once( 'conf.php' ); 

function 
name($name){ 
$new NEW2

?>

  Ответить  
 
 автор: serjinio   (16.01.2009 в 08:35)   письмо автору
 
   для: x2x2   (16.01.2009 в 03:51)
 

<?
require_once( 'conf.php' );
echo 
'new2--'.  $new2;// проверям, приходит ли вообще переменная из conf.php

function name($new2){
$new=$new2;
echo
'<br>--'$new;

name($new2);

  Ответить  
 
 автор: Loki   (16.01.2009 в 09:25)   письмо автору
 
   для: x2x2   (16.01.2009 в 03:51)
 

Читаем в мануале про область видимости переменных. Делаем выводы.

  Ответить  
 
 автор: x2x2   (16.01.2009 в 15:46)   письмо автору
 
   для: Loki   (16.01.2009 в 09:25)
 

Всем спасибо! Все понятно.
Прописал в ф-ии переменую new2 как global. global $new2; и все заработало.

  Ответить  
 
 автор: Valick   (16.01.2009 в 16:22)   письмо автору
 
   для: x2x2   (16.01.2009 в 15:46)
 

Лично я стараюсь писать код не используя глобальные переменные

  Ответить  
 
 автор: Loki   (16.01.2009 в 22:50)   письмо автору
 
   для: Valick   (16.01.2009 в 16:22)
 

>стараюсь писать код не используя глобальные переменные
В каждой функции создаете новый экземпляр класса для работы с БД?:)

  Ответить  
Rambler's Top100
вверх

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