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

Форум PHP

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

 

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

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

тема: Можно ли создать "прозрачную" функцию?

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

 
 автор: tAleks   (23.02.2007 в 21:19)   письмо автору
 
   для: b00m   (22.02.2007 в 23:06)
 

>А не судьба нужные переменные передать в функцию и не ломать голову?

Нет.

Я получаю контент файла так:


function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        $contents = ob_get_contents();
        ob_end_clean();
        return $contents;
    }
    return false;
}


файл $filename генерируется на основе переменных внешнего скрипта.

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

   
 
 автор: cheops   (23.02.2007 в 19:36)   письмо автору
 
   для: golovdinov   (23.02.2007 в 13:45)
 

Это константа и её значение нельзя модифицировать в ходе выполнения программы.

   
 
 автор: DDK   (23.02.2007 в 14:40)   письмо автору
 
   для: tAleks   (22.02.2007 в 22:58)
 

http://ru.php.net/manual/ru/function.extract.php

extract($GLOBALS);
или

while (list ($key, $val) = each ($GLOBALS)) $$key = $val;


но проблема в том, что если записать в них что-то, то измененное значение будет доступно только в функции.

   
 
 автор: bronenos   (23.02.2007 в 13:58)   письмо автору
 
   для: golovdinov   (23.02.2007 в 13:45)
 

это константа
и у меня переменная не скаляр, а объект класса
нельзя

   
 
 автор: golovdinov   (23.02.2007 в 13:45)   письмо автору
 
   для: cheops   (23.02.2007 в 12:15)
 

Можно вроде переменные, заданные как define ("переменная", "значение"), использовать в функциях без global

   
 
 автор: cheops   (23.02.2007 в 12:15)   письмо автору
 
   для: bronenos   (23.02.2007 в 10:49)
 

Протокол HTTP не является сессионным, поэтому переменные нельзя передавать от одной странице к другой без использования сессий, cookie, GET-параметров, сохранения их в базу данных или файл.

   
 
 автор: bronenos   (23.02.2007 в 10:49)   письмо автору
 
   для: cheops   (23.02.2007 в 00:42)
 

Кстати насчет глобальных
Неужели никак нельзя сделать переменную суперглобальной как константу (в моем случае я не могу это сделать так как переменная у меня объект класса), пробовал и в массив $_GLOBAL пихать, и global $phx - ничего не помогает...
Никак нельзя чтоли?

   
 
 автор: cheops   (23.02.2007 в 00:42)   письмо автору
 
   для: tAleks   (22.02.2007 в 22:58)
 

Для этого переменные нужно объявить внутри функции с атрибутом global.

   
 
 автор: TrunK   (23.02.2007 в 00:40)   письмо автору
 
   для: tAleks   (22.02.2007 в 22:58)
 

Можно делать вот так:

<?php
$a 
1;

function 
test()
{
   global 
$a;
   echo 
$a;
}
test();

   
 
 автор: b00m   (22.02.2007 в 23:06)   письмо автору
 
   для: tAleks   (22.02.2007 в 22:58)
 

Если все наружние переменные global, то наверное можно. А не судьба нужные переменные передать в функцию и не ломать голову?

   

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

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

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