Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP передача функции, как параметр / 11 сообщений из 11, страница 1 из 1
17.05.2007, 21:12
    #34533978
vitalycrash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Здравствуйте,
Возможно ли это? Если да, то подскажите как?
Спасибо
...
Рейтинг: 0 / 0
17.05.2007, 21:26
    #34533999
enkarito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Не совсем понятно, что Вы хотите...
Например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
function f1()
{
	echo "f1 function executed";
}
function f2($func)
{
	$func();
}
$str = "f1";
f2($str);
?>
Или так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
function f1()
{
	echo "f1 function executed";
}
function f2($func_num)
{
	if($func_num ==  1 ) f1();
}
$num = "1";
f2($num);
?>
...
Рейтинг: 0 / 0
17.05.2007, 21:35
    #34534019
vitalycrash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Хочу так
<?php
function f1()
{
echo "f1 function executed";
return chtototam;
}
function f2( f1() ) // главное вот эта строка!!! Возможно ли передать всю функцию как параметр другой функции.
{
$func();
}
$str = "f1";
f2($str);
Вот на правильность кода не смотрел. Идею показал.
...
Рейтинг: 0 / 0
17.05.2007, 22:03
    #34534064
enkarito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Прямо таким образом нельзя.
Позвольте узнать для каких целей? И чем Вас не устраивают мои варианты?
Если вас интересует именно возвращаемое значение, то можно передавать в вызове, но не в определении функции:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?php
function f1()
{
	return "f1";
}
function f2($var)
{
	echo $var;
}
f2(f1());
?>
если - нет, то уточняйте, что именно Вам надо получить.
...
Рейтинг: 0 / 0
17.05.2007, 22:13
    #34534083
vitalycrash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Цель у меня одна! Я даже незнаю смогу ли Вам объяснить так, чтобы Вы поняли:
В общем:
CAPTCHA слышали может... видели уж точно! Это изображение искаженное. Можете считать моим капризом, но мне необходимо создать картинку такую создав свои функции(естественно эти функции будут использовать существующие функции библиотеки ГД. Примерно это должно выглядить так:
class ICreate
{
function ICreate($width,$height)
{
$image = @imagecreate($width, $height);
imagejpeg($image);
return $image;
}
function IColor($image,$color)
{
$color = imagecolorallocate($image, 255,128,56);
}
}

$width = isset($_GET['width']) ? $_GET['width'] : '180';
$height = isset($_GET['height']) ? $_GET['height'] : '60';

header('Content-Type: image/jpeg');
$c = new ICreate($width,$height,$color);
Но тут у меня проблема!!! Первая функция работает-на выходе получаем черный прямоугольник. А вот как результат передать в следующую функцию я незнаю :( Поэтому и был такой вопрос.
Ваши функции :) Признаюсь честно я думал Вы как пример-поэтому не обратил внимания! Сейчас посмотрим. Спасибо Вам
...
Рейтинг: 0 / 0
17.05.2007, 22:40
    #34534117
enkarito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Это же основы работы с классами...
Немного видоизменил Ваш "класс". Теперь он более рабочий, чем в Вашем виде.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<?php
class ICreate
{
var $image;
function ICreate($width,$height)
{
$this->image = @imagecreate($width, $height);
}
function IColor()
{
$bgcolor = imagecolorallocate($this->image,  255 , 128 , 56 );
}
function IText($text)
{
$textcolor = imagecolorallocate($this->image, 0 , 0 , 0 );
imagestring($this->image,  4 ,  0 ,  0 , $text, $textcolor);		
}
function IOutput()
{
imagejpeg($this->image);
imagedestroy($this->image);
}
}

$width = isset($_GET['width']) ? $_GET['width'] : '180';
$height = isset($_GET['height']) ? $_GET['height'] : '60';

header('Content-Type: image/jpeg');
$c = new ICreate($width,$height);
$c->IColor();
$c->IText("hello world");
$c->IOutput();
?>
...
Рейтинг: 0 / 0
17.05.2007, 22:49
    #34534121
vitalycrash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Большое Вам спасибо!
Не могли бы Вы ещё показать мне где можно почитать? И в чем была проблема? Большое спасибо за то что Вы сделали, но надо же и мне разобраться
...
Рейтинг: 0 / 0
17.05.2007, 22:59
    #34534130
enkarito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Основной источник например, http://www.php.net/manual/ru/
И купите себе книжку по php.

Из кода, который Вы показали:
1-ая ошибка, imagejpeg() - данную функцию вызывают в самом конце, когда все действия с изображением выполнены.
2-ая ошибка, в конструкторе ICreate() решили возвращать $image, тогда как конструкторы ничего не возвращают.
3-ья ошибка, после создания класса '$c = new ICreate(..)', не было вызовов следующих.
...
Рейтинг: 0 / 0
18.05.2007, 11:20
    #34534916
vitalycrash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Спасибо!
...
Рейтинг: 0 / 0
18.05.2007, 14:37
    #34535870
alex_UID_0xFF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
Гуглить по "Гради Буч"у.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
31.01.2015, 01:49
    #38868286
lgnsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP передача функции, как параметр
// функция, которую будем передавать в качестве параметра другой функции<
function sFnc1($sTxt) {
return $sTxt;
}

// функция, которая принимает в качестве параметра, другую функцию
function bFnc2($Fnc) {
echo ">$Fnc<";
return true;
}


$f = &sFnc1("Привет!");
bFnc2($f);

// результат, будет такой: >Привет!<
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP передача функции, как параметр / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]