>백엔드 개발 >PHP 튜토리얼 >하위 기능이 호출된 후에는 페이지 출력이 없습니다.

하위 기능이 호출된 후에는 페이지 출력이 없습니다.

WBOY
WBOY원래의
2016-08-04 09:21:501273검색

함수 A를 작성하고 함수 B를 호출하여 HTML 조각을 출력했습니다. 하지만 B 함수가 호출되는 한 이 HTML은 페이지에 출력되지 않는다는 것을 알았습니다.
이 html을 함수 A에 직접 복사하고 함수 B의 호출을 차단하면 html이 출력됩니다.
무엇이 잘못됐나요?

기능 코드:

<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 기능은 다음과 같습니다.

<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>

답글 내용:

함수 A를 작성하고 함수 B를 호출하여 HTML 조각을 출력했습니다. 하지만 B 함수가 호출되는 한 이 HTML은 페이지에 출력되지 않는다는 것을 알았습니다.
이 html을 함수 A에 직접 복사하고 함수 B의 호출을 차단하면 html이 출력됩니다.
무엇이 잘못됐나요?

기능 코드:

<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 기능은 다음과 같습니다.

<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>

이렇게 쓰면 오류가 나지 않을까요? 일단 해볼께요...

정말 오류가 없습니다!

<code><?php 

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

Tpl::show();</code>

여기에 있는 메소드는 slef::method,$this->method $obj->method여야 합니다. 그렇죠?

귀하의 B 함수에는 return이나 echo가 없습니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.