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

Форум PHP

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

 

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

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

тема: что за бред $zzz($z,$y)?
 
 автор: а-я   (01.08.2009 в 13:39)   письмо автору
 
 

это функцция? или что?

  Ответить  
 
 автор: а-я   (01.08.2009 в 13:41)   письмо автору
 
   для: а-я   (01.08.2009 в 13:39)
 

видать это ссылка на функцию... и таким образом можно передавть переменные в функцию?

  Ответить  
 
 автор: Vyacheslav Tsv.   (01.08.2009 в 14:43)   письмо автору
 
   для: а-я   (01.08.2009 в 13:41)
 

Функция это
<?php
function hello $name )
{
  echo
'Привет, '.$name.', я твоя функция!';
}
hello 'Вася' );
?>

Что выдаст:
Привет, Вася, я твоя функция!

  Ответить  
 
 автор: а-я   (01.08.2009 в 14:52)   письмо автору
 
   для: Vyacheslav Tsv.   (01.08.2009 в 14:43)
 

нет, меня запутал "$" -

$zzz($z,$y)

  Ответить  
 
 автор: Саня   (01.08.2009 в 15:05)   письмо автору
 
   для: а-я   (01.08.2009 в 13:39)
 

В переменной $zzz находится имя функции, подлежащая вызову.
<?
$func 
'htmlspecialchars';
print 
$func('<script>alert("document.cookies");</script>');

// код выше эквивалентен следующей строке
print htmlspecialchars('<script>alert("document.cookies");</script>');

Такая запись применяется когда имя используемой функции становится известно только во время выполнения скрипта. Такая запись подходит и для классов.
<?
switch ( $_GET['action'] ) {
  case 
'user'$class 'userController'; break;
  case 
'admin'$class 'adminController'; break;
  default: 
$class 'commonController';
}
$func 'printHelloString';
$c = new $class($_GET['login'], $_GET['password']);
$c->$func();

Или вот ещё более реальный пример.
<?
// ...
if ( $config['database'] == 'mysql' ) {
  
$db 'mysqlDB';
} elseif ( 
$config['database'] == 'mssql' ) {
  
$db 'mssqlDB';
}
$dbc = new $db($host$user$pwd);
Этот код подволяет прозрачно переключать СУБД, с которой работает скрипт.

  Ответить  
 
 автор: а-я   (01.08.2009 в 15:16)   письмо автору
 
   для: Саня   (01.08.2009 в 15:05)
 

спасибо за полную инфу) просто я как-то привык в таких случаях использовать call_user_func()

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

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