mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 08:54 Benutzername: Passwort: Auto-Login

Thema: Warum funktioniert das nicht? (PHP) vom 18.01.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Warum funktioniert das nicht? (PHP)
Autor Nachricht
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Mi 18.01.2012 09:48
Titel

Warum funktioniert das nicht? (PHP)

Antworten mit Zitat Zum Seitenanfang

Ich kann nicht verstehen warum dieser (Lern-) PHP-Code nicht funktioniert. Wenn ich die Variable $grf_img immer brav als Parameter verwende bzw. per Return zuweise, geht es natürlich, aber gerade das wollte ich "wegoptimieren". Auch wenn ich die Global-Definition in die Funktion grf_init hineinschreibe, geht es nicht, jedenfalls nicht bei "www.coderun.com". Danke für Tips.

Code:

<?php
global $img_grf;

function grf_init($w,$h)
{
$img_grf=imagecreate($w,$h);
}

function grf_show()
{
header('Content-Type: image/gif'); imagegif($img_grf);
}

grf_init(100,100);
grf_show();

?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 18.01.2012 11:18
Titel

Antworten mit Zitat Zum Seitenanfang

Du musst das global-Keyword innerhalb der Funktionen verwenden, um im lokalen Scope auf Variablen im "globalen"/äußeren Scope zuzugreifen: http://php.net/manual/en/language.variables.scope.php

Die Semantik ist: "Hol mir Variable $a von außen hier rein", und nicht "Mach Variable $a verfügbar für alles unter mir".

Du optimierst damit aber nix weg, sondern erreichst das Gegenteil --- unwartbaren Code. Das ist ein klassisches Antipattern.


Zuletzt bearbeitet von bacon am Mi 18.01.2012 11:19, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
 
Ähnliche Themen wie Funktioniert das mit ADOdb
Codepen - wie funktioniert's?
Wie funktioniert SEO (Grundsätze)
i++ funktioniert nicht?
wie funktioniert so ein muster?
Shopsystem - Wie funktioniert es
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.