php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 15.06.2011, 22:20  
Neuer Benutzer
 
Registriert seit: 15.06.2011
Beiträge: 8
PHP-Kenntnisse:
Fortgeschritten
rixo befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Schleife in 2 Functions "teilen"

<?php Hey,
ich möchte im Prinzip eine Schleife erstellen mit 2 Functions.

Quasi

PHP-Code:
<?php schleifenanfang("anzahl an wiederholungen"); ?>
    <?php wiederholteFunction(nameblabla); ?>
<?php schleifenende
(); ?>
am ende soll der innere teil wiederholt werden.
Jemand ideen?
einfach nen while drum setzen, ok...
hab ich schon durch ich brauche functions....
thx ?>
rixo ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.06.2011, 22:21  
Benutzer
 
Registriert seit: 16.07.2010
Beiträge: 80
PHP-Kenntnisse:
Fortgeschritten
SinnlosS befindet sich auf einem aufstrebenden Ast
Standard

Kannst du dein Problem mal etwas konkretisieren? Ich verstehe gerade nur Bahnhof.
SinnlosS ist offline   Mit Zitat antworten
Alt 15.06.2011, 22:24  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das versteht niemand.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.06.2011, 22:25  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von rixo Beitrag anzeigen
hab ich schon durch ich brauche functions....
Warum? Soll das eine Art Template Engine werden? Ich fürchte du bist da auf einem Holzweg, erklär lieber mal was du wirklich vorhast.
fab ist offline   Mit Zitat antworten
Alt 15.06.2011, 23:01  
Neuer Benutzer
 
Registriert seit: 15.06.2011
Beiträge: 8
PHP-Kenntnisse:
Fortgeschritten
rixo befindet sich auf einem aufstrebenden Ast
Standard

Es ist ein frontend cms für nen kunden,er möchte einfache php functions "function()" haben.

so soll sich eine schleife öffnen
PHP-Code:
anfang(6)   //schleife wiederholt 6 mal 
ich habe andere funktionen wie zb ein text den man als admin über tinyMCE editieren kann. diese gibt man nach anfang(6) an das sieht dann so aus

PHP-Code:
anfang(6);   //schleife wiederholt 6 mal
texteditor(name); //texteditor 
schleife schließen muss man schließlich ja auch also endergebnis im html/php code wäre:
PHP-Code:
anfang(6);   //schleife wiederholt 6 mal
texteditor(name);// texteditor
endeSchleife();    //schleifen ende 
im prinzip möchte ich, dass die 3 functions dann
folgendes an die index.php weitergibt und erst dort verarbeitet:
PHP-Code:
$count=0;    //schleifenanfang
while($count<$anzahl){   //schleifenanfang $anzahl ist ja 6
hier der schleifen inhaltin unserem fall dann der texteditor
//schleifenende 
sorry das es so unverständlich war, hoffe jetz klappts besser ^^
Ist ein cms bei dem man halt wirklich null "echten" phpcode sehen sollte. nur functions.

Geändert von rixo (15.06.2011 um 23:07 Uhr).
rixo ist offline   Mit Zitat antworten
Alt 15.06.2011, 23:06  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 260
PHP-Kenntnisse:
Fortgeschritten
lcrash wird schon bald berühmt werden
Standard

Vielleicht will er was ganz generisches. Hier mit Lamda-Funktion und Closures (PHP5.3):
PHP-Code:
<?php
function repeat($callee$argv) {
    return function (
$count) use($callee$argv) {
        for (
$i 0$i $count$i++) {
            
$args array_values($argv);
            
array_unshift($args$i);
            
call_user_func_array($callee$args);
        }
    };
}

$f1 repeat(
    function (
$counter$var1$var2) { echo "\$counter=$counter, \$var1=$var1, \$var2=$var2\n"; },
    array(
'p1''p2')
);
$f1(5);
// Edit:
Sowas?
PHP-Code:
<?php
function anfang($count) {
    
ende($count);
    
ob_start();
}

function 
tuwas() {
    echo 
"tuwas\n";
}

function 
ende($count null) {
    static 
$countTo;
    if (
is_int($count)) {
        
$countTo $count;
    } elseif (
is_int($countTo)) {
        
$content ob_get_clean();
        for (
$i 0$i $countTo$i++) {
            print 
$content;
        }
    }
}

anfang(5);
tuwas();
ende();
Sehr hacky, aber demonstriert, dass sowas geht.

Geändert von lcrash (15.06.2011 um 23:16 Uhr).
lcrash ist offline   Mit Zitat antworten
Alt 15.06.2011, 23:10  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

In solchen fällen lex't man den Content der sowas replizieren soll. Du kannst dort sonst nicht unterbinden das dein Benutzer mit PHP-Code rumfummelt wo nur "deine Funktionen" verfügbar sein sollen.

http://de.wikipedia.org/wiki/Lexikalischer_Scanner

Da kommt man irgendwann Instruction-technisch ins trudeln wenn alle events des lexers mit einem beliebigen Wert eines Dictionarys beginnen können statt einem festen Lexical Sign, das solche stellen im zu scannenden Source als Instruction erkennt.

Ich Empfehl dazu eher auf SGML-Elemente ( Stichwort DOM ) zurückzugreifen um solche Sachen zu realisieren. Aus deinem Beispiel:
PHP-Code:
anfang(6);
testeditor(name);
endSchleife(); 
würde dann
Code:
<cycle loop="6">
   <element type="testeditor" use="name" />
</cycle>
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 15.06.2011, 23:13  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von rixo Beitrag anzeigen
Ist ein cms bei dem man halt wirklich null "echten" phpcode sehen sollte. nur functions.
Das ist halt nicht nur nicht echter PHP Code sondern überhaupt keiner, du willst da eine eigene Sprache erfinden also musst du auch mit den Konsequenzen leben und einen Parser schreiben. Oder eben du verwirfst den Ansatz, eine Notwendigkeit sehe ich auch nach deiner Erklärung nicht wirklich. "Kunde will PHP-function im CMS haben" zählt nicht, Anforderungen die keinen Sinn ergeben musst du als jemand der es besser weiß deinem Kunden schon ausreden.

Wie der Ablauf im Endeffekt sein soll ist mir übrigens immer noch nicht klargeworden (was soll "an die index.php weitergibt" heißen?)
fab ist offline   Mit Zitat antworten
Alt 15.06.2011, 23:42  
Neuer Benutzer
 
Registriert seit: 15.06.2011
Beiträge: 8
PHP-Kenntnisse:
Fortgeschritten
rixo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lcrash Beitrag anzeigen
PHP-Code:
<?php
function anfang($count) {
    
ende($count);
    
ob_start();
}

function 
tuwas() {
    echo 
"tuwas\n";
}

function 
ende($count null) {
    static 
$countTo;
    if (
is_int($count)) {
        
$countTo $count;
    } elseif (
is_int($countTo)) {
        
$content ob_get_clean();
        for (
$i 0$i $countTo$i++) {
            print 
$content;
        }
    }
}

anfang(5);
tuwas();
ende();
Sehr hacky, aber demonstriert, dass sowas geht.
Super! Ja genau das habe ich gesucht. Ich wusste sowas mal gemacht zu haben, daher wollte ich nur sehr ungern auf lex oder xml/Xslt umsteigen, zumal es die aufgabe war, bei php/Html zu bleiben.

Also noch eine Frage an dich Meister
wenn ich bei "tuwas()" noch andere variablen habe,
z.B.
tuwas("name", "bla", "bla")

könnte man mit jedem "$count" den namen um $count erweitern?

quasi das der "output" dann so aussehen würde:
tuwas("name0", "bla", "bla")
tuwas("name1", "bla", "bla")
tuwas("name2", "bla", "bla")

du wärst mein lebensretter!
rixo ist offline   Mit Zitat antworten
Alt 15.06.2011, 23:46  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 260
PHP-Kenntnisse:
Fortgeschritten
lcrash wird schon bald berühmt werden
Standard

Ich habe bereits das meiste vorgekaut und damit schon genug zum schlechten Design beigetragen. Durch den Rest musst du selbst durch.

Angesehen was mein Beispiel genau macht hast du jedenfalls nicht.
lcrash ist offline   Mit Zitat antworten
Antwort


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
[Erledigt] schleife pausieren lassen um werte zu ändern DarkSun PHP Einsteiger 10 24.03.2011 16:48
[Erledigt] mysql query in Schleife? Bitte nicht wernersbacher PHP Einsteiger 2 08.03.2011 12:36
[Erledigt] Wieso While Schleife endlos? JackSparrow PHP Einsteiger 8 02.02.2011 22:33
[Erledigt] Schleife 2 auf Schleife 1 beziehen bei XML Abfrage ePole PHP Einsteiger 16 17.12.2010 09:58
fwrite() funktioniert nicht innerhalb einer Schleife hausmaus PHP Tipps 2010 4 26.04.2010 13:45
[Erledigt] foreach Schleife lord_icon PHP Tipps 2010 11 06.02.2010 01:15
Zufällig erstellte Werte einzeln aus einer Schleife holen atthex PHP Tipps 2009 3 04.01.2010 19:03
Fehler beim kompilieren von php 5.2.9 malio Server, Hosting und Workstations 11 05.06.2009 18:40
Schleife nach Tastendruck beenden schnurzli PHP Tipps 2006 7 24.03.2006 18:56
Warum wird die erste Schleife nur einmal durchlaufen ? PHP Tipps 2006 12 03.03.2006 20:04
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
for Schleife -> unterbrechen, Befehl einfügen, fortsetzen PHP Tipps 2005-2 7 10.10.2005 21:05
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
IF ELSEIF ELSEIF ELSE mit While Schleife PHP Tipps 2005 9 04.03.2005 23:27
versteh diese do-while schleife nicht PHP Tipps 2004 5 08.09.2004 16:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php functions schleife, php schlaufe dann wieder bei 1 beginnen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:56 Uhr.




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