Heim  >  Artikel  >  Backend-Entwicklung  >  Nach dem Aufruf der Unterfunktion erfolgt keine Seitenausgabe.

Nach dem Aufruf der Unterfunktion erfolgt keine Seitenausgabe.

WBOY
WBOYOriginal
2016-08-04 09:21:501237Durchsuche

Ich habe eine Funktion A geschrieben und Funktion B aufgerufen, um ein Stück HTML auszugeben. Ich habe jedoch festgestellt, dass dieser HTML-Code nicht auf der Seite ausgegeben wird, solange die B-Funktion aufgerufen wird.
Wenn Sie dieses HTML direkt in Funktion A kopieren und den Aufruf von Funktion B blockieren, wird das HTML ausgegeben.
Was ist schief gelaufen?

Ein Funktionscode:

<code>public static function cartbinet_display_setting_html_page() {
    echo '<div class="wrap">';
    
    /*display xml data*/
    //$xmlfile = plugins_url( 'cartbinet-server/data/cartbinets.xml' );
    //$xml = simplexml_load_file($xmlfile);
    //var_dump($xmlfile);
    //var_dump($xml);
    //cartbinet_display_xml_data($xml);
    
    /*display setting content*/
    cartbinet_display_setting_page();
<?php        
    echo '</div>';
} 
</code>

B-Funktion ist:

<code>public static function cartbinet_display_setting_page( ) {
    ?>
        <h2>Set Copyright</h2>   
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  

            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  

            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  

                <input type="submit" value="Save" class="button-primary" />  
            </p>
        </form>  
    <?php  
    } </code>

Antwortinhalt:

Ich habe eine Funktion A geschrieben und Funktion B aufgerufen, um ein Stück HTML auszugeben. Ich habe jedoch festgestellt, dass dieser HTML-Code nicht auf der Seite ausgegeben wird, solange die B-Funktion aufgerufen wird.
Wenn Sie dieses HTML direkt in Funktion A kopieren und den Aufruf von Funktion B blockieren, wird das HTML ausgegeben.
Was ist schief gelaufen?

Ein Funktionscode:

<code>public static function cartbinet_display_setting_html_page() {
    echo '<div class="wrap">';
    
    /*display xml data*/
    //$xmlfile = plugins_url( 'cartbinet-server/data/cartbinets.xml' );
    //$xml = simplexml_load_file($xmlfile);
    //var_dump($xmlfile);
    //var_dump($xml);
    //cartbinet_display_xml_data($xml);
    
    /*display setting content*/
    cartbinet_display_setting_page();
<?php        
    echo '</div>';
} 
</code>

B-Funktion ist:

<code>public static function cartbinet_display_setting_page( ) {
    ?>
        <h2>Set Copyright</h2>   
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  

            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  

            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  

                <input type="submit" value="Save" class="button-primary" />  
            </p>
        </form>  
    <?php  
    } </code>

Würden Sie eine Fehlermeldung erhalten, wenn Sie so schreiben? Ich werde es zuerst versuchen...

Okay! Es liegt wirklich kein Fehler vor!

<code><?php 

class Tpl {
  static function show() {
      echo "?:";
  ?>
    why?
  <?php 
  
  }
}

Tpl::show();</code>

Die Methode, die Sie hier haben, sollte slef::method,$this->method $obj->method sein, oder?

Ihre B-Funktion hat weder Return noch Echo

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn