powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP передача функции, как параметр
11 сообщений из 11, страница 1 из 1
PHP передача функции, как параметр
    #34533978
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,
Возможно ли это? Если да, то подскажите как?
Спасибо
...
Рейтинг: 0 / 0
PHP передача функции, как параметр
    #34533999
enkarito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно, что Вы хотите...
Например, так:
Код: 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
PHP передача функции, как параметр
    #34534019
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу так
<?php
function f1()
{
echo "f1 function executed";
return chtototam;
}
function f2( f1() ) // главное вот эта строка!!! Возможно ли передать всю функцию как параметр другой функции.
{
$func();
}
$str = "f1";
f2($str);
Вот на правильность кода не смотрел. Идею показал.
...
Рейтинг: 0 / 0
PHP передача функции, как параметр
    #34534064
enkarito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прямо таким образом нельзя.
Позвольте узнать для каких целей? И чем Вас не устраивают мои варианты?
Если вас интересует именно возвращаемое значение, то можно передавать в вызове, но не в определении функции:
Код: 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
PHP передача функции, как параметр
    #34534083
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цель у меня одна! Я даже незнаю смогу ли Вам объяснить так, чтобы Вы поняли:
В общем:
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
PHP передача функции, как параметр
    #34534117
enkarito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это же основы работы с классами...
Немного видоизменил Ваш "класс". Теперь он более рабочий, чем в Вашем виде.
Код: 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
PHP передача функции, как параметр
    #34534121
vitalycrash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое Вам спасибо!
Не могли бы Вы ещё показать мне где можно почитать? И в чем была проблема? Большое спасибо за то что Вы сделали, но надо же и мне разобраться
...
Рейтинг: 0 / 0
PHP передача функции, как параметр
    #34534130
enkarito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Основной источник например, http://www.php.net/manual/ru/
И купите себе книжку по php.

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

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


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

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


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