php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.03.2005, 18:14   #1 (permalink)
Erfahrener Benutzer
 
Registriert seit: 23.11.2003
Beiträge: 179
Creativ
Standard Class -- Funktion

Hi,
Habe mal wieder ein Problem

Also, ich habe eine kommentar-class geschrieben, und bin gerade bei der ausgabe des formulars. Ich gebe dass wie auf der restlichen Seite auch so über eval aus:
PHP-Code:
<?php
eval("\$body.= \"".gettemplate("templates/".$template_ordner."/datei")."\";");
?>
Die Endung ist dann automatisch .html.

Das funktioniert auch erstmal.
Hier erstmal die Funktion dazu in der Klasse:
PHP-Code:
<?php
function show_formular() {
        
//smilie_tpl();
        
eval("\$this->bbcode .= \"".gettemplate("templates/".$this->template_ordner."/bbcode")."\";");
        eval(
"\$this->form.= \"".gettemplate("templates/".$this->template_ordner."/news_comments_form")."\";");
        return 
$this->form;
    }
?>
Und in der news_comments.php mache ich dass dann so:
PHP-Code:
<?php
$body
.=$news_c->show_formular($body);
?>
Bis dahin funktioniert alles.
Nur habe ich jetzt 2 Probleme.

das 1.:
Wie ihr bei der Funktion sehen könnt habe ich das smilie_tpl() auskommentiert. Über die Funktion wird in der $smilie eine tabelle gespeichert mit allen smilies die angezeigt werden sollen.
Nur existiert die function nicht in der class sonder nur in der function.php.
Wie kann ich dass dann machen dass auch die function in der class vorhanden ist?


das 2. Problem:
Die Seite ist multi-lanuage und ich speicher alle language-variabelen in dem array $lang[]. Jetzt habe ich bei der class in den Konstruktor auch die $lang reingepackt und ich kann sie auch in der class anwenden, nur bei dem Formular habe ich jetzt Probleme.

Wenn ich das hier in die template-date reinschreibe:
PHP-Code:
<?php
$this
->lang[newscomments_name]
?>
Gibt er mir stattdessen dieses hier aus:

Array[newscomments_name]

Was mache ich falsch?
Er soll ja den Wert der variable ausgeben.
?>[/php]
__________________
Meine PHPInfo: http://www.ld-network.de/phpinfo.php

\/isit Me @ www.simrally.de
Creativ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.03.2005, 18:24   #2 (permalink)
Erfahrener Benutzer
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.359
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

also fangen wir mal an :P
irgendwie fehlt ein bissel input :P

$this->lang[newscomments_name]

was macht lang ? und warum [] ? array ? oder funktion oder was?
falls es ein array ist, bitte indizes immer mit ' ansprechen, falls es eine funtion ist, ( verwenden und da das in klammern dann wohl ein string sein soll auch wieder '
2. wenn irgendwas mit etwas nicht stimmt, einfach mal zum spass var_dump($var); oder var_dump(function()); das lieftert oftmals viele infos :P

und wenn du es ausgeben willst, einfach mal
echo $this->lang['newscomments_name'];
testen :P

Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird)
PHP-Code:
error_reporting(E_ALL); 
damit werden dann alle Fehler ausgegeben.

damit wären sachen wie falsches ansprechen des indexes schon aufgefallen.

so weiter.
was genau ist smilie_tpl(); ? wenn es nur ne funktion ist, kannst du sie ja in die klasse mit einbauen, weil eine klasse eigentlich alleine funktionieren sollte ohne zug andere dateien, oder du includest die entsprechende datei, ein require_once wäre hier vieleicht angebracht. Sollte es eine Klasse sein, kannst du ja auch die require-variante nutzen.

desweiteren was heißt
Zitat:
Über die Funktion wird in der $smilie eine tabelle
ist $smilie überhaupt erreichbar? (stichwort globale und lokale varialben) wird der funktion was übergeben?

soweit erstmal :P

mfg
robo47
robo47 ist offline  
Alt 30.03.2005, 23:10   #3 (permalink)
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo
Standard

übrigens, um die schnittstelle anzugleichen:

PHP-Code:
<?php
function myfunction($eineVariable,$zweiteVariable) {}


class 
MyClass {

   
/** 
    * simpelster einzeiler, um die funktion als klassenmethode zu verwenden.
    * @TODO wird die funktion später nicht mehr unter functions.php gebraucht,
    * hierher verschieben.
    *
   */
   
function myFunction($param,$param2) {
     return 
myfunction($param2,$param1);
   }

}

?>
und nein, es gibt keine mir bekannte php-funktion, die dir diesen einzeiler erspart.
axo ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Funktion, die Default-Wert für NULL setzt Zergling-new Datenbanken 3 13.11.2006 22:54
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
[Erledigt] Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Funktion in funktion nicht möglich? PHP-Fortgeschrittene 4 28.11.2004 00:14
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.