Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Was ist, macht call_user_func ?

Eingetragen von quiptime (4972)
am 06.10.2007 - 23:54 Uhr in
  • Modul-Entwicklung

Was ist und macht

call_user_func

Kann mir das bitte Jemand kurz erklaeren.

‹ Form API Aufbau-Frage Probleme mit form_validate und form_set_value ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

scheint nicht sehr bekannt

Eingetragen von rapsli (1500)
am 08.10.2007 - 07:15 Uhr

scheint nicht sehr bekannt zu sein. Was ich gesehen habe: Nur kannst der Funktion eine Funktion übergeben, aber was die dann macht...?
___________________________
it's easier than you think
Raphael Schär
http://www.schaerwebdesign.ch

  • Anmelden oder Registrieren um Kommentare zu schreiben

quiptime wrote:

Eingetragen von traxer (1009)
am 04.12.2007 - 01:47 Uhr
quiptime schrieb

Was ist und macht

call_user_func

call_user_func ist eine Funktion. Sie ruft eine andere Funktion auf; nämlich die, die durch den ersten Parameter gegeben ist. Sie übergibt die restlichen Parameter an diese Funktion und liefert das Ergebnis, das die durch den ersten Parameter gegebene Funktion liefert.

<?php
$func
= 'mt_rand';
$min = 1;
$max = 49;
$result = call_user_func($func, $min, $max);
?>

$result ist jetzt eine Pseudozufallszahl zwischen 1 und 49. Im Prinzip hättst du auch schreiben können
<?php
$result
= $func($min, $max);
?>

call_user_func hat aber noch einige Schmankerl in Petto:
<?php
class Benutzer {
  public static function
authentifiziere($name, $passwort) { /* Liefert ein Benutzer-Objekt */ }
  public function
abmelden() { }
}
$klasse = 'Benutzer';
$methode = 'authentifiziere';

// Die Syntax $benutzer = $klasse::$methode($parameter) wird nicht unterstützt. Deshalb:
$benutzer = call_user_func( array($klasse, $methode), 'quiptim', 'qwertyuiop');

$methode = 'abmelden';
// Ob $benutzer->$methode() unterstützt wird weiß ich nicht. Auf jeden Fall funktioniert:
call_user_func(array($benutzer, $methode));
?>

Du braucht call_user_func also, wenn du erst zur Laufzeit weißt, welche Funktion/Klasse/Methode du verwendest.

Richtig interessant wird es mit call_user_func_array. Diese Funktion brauchst du, wenn du erst zur Laufzeit weißt, wieviele Parameter du übergeben willst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

@traxer, Danke und Wow.

Eingetragen von quiptime (4972)
am 04.12.2007 - 02:36 Uhr

@traxer,

Danke und Wow. Jetzt weiss ich an wen ich mich bei speziellen PHP Problemen wenden kann.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 3 Wochen 12 Stunden
  • Textboxen mit Tabelle
    vor 3 Wochen 18 Stunden
  • Du sollst ja auch keine
    vor 3 Wochen 19 Stunden
  • Theme
    vor 3 Wochen 19 Stunden
  • Welches Theme benutzt du
    vor 3 Wochen 1 Tag
  • Mit Responsive Raster hatte
    vor 3 Wochen 1 Tag
  • Hallo Alex,um das Häkchen
    vor 3 Wochen 2 Tagen
  • Modul view_unpublished
    vor 3 Wochen 3 Tagen
  • Modul "override node options"
    vor 3 Wochen 3 Tagen
  • Im Grunde ist dass ein
    vor 3 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20481

Neue User:

  • Aoirhic
  • Stevebok
  • Robertnobia

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 16 Gäste online.

Benutzer online

  • wla

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association