Değilken nesne bağlamında $ bu kullanma

2 Cevap php

Ben blog sitesini göstermek için bir işlev oluştururken ediyorum. Yani bir gösteri blog işlevini yaptı ama hata "$ bu değil nesne bağlamında kullanma" veren tutar

Class Blog{

    public function getLatestBlogsBig($cat = null){
        $sqlString = "SELECT blog_id FROM jab_blog";
        if($cat != null)
            $sqlString .= " WHERE blog_cat = " . $cat;

        $sqlString .= " ORDER BY blog_id DESC LIMIT 5";
        $blog = mysql_query($sqlString);

        while($id = mysql_result($blog,"blog_id")){
            $this->showBlog($id); //Error is on this line
        }

    }

    function showBlog($id,$small = false){
        $sqlString = "SELECT blog_id FROM jab_blog WHERE blog_id=" . $id . ";";
        $blog = mysql_query($sqlString);

        if($small = true){
            echo "<ul>";
            while($blogItem = mysql_fetch_array($blog)){
                echo '<a href="' . $_SESSION['JAB_LINK'] . "blog/" . $blogItem['blog_id'] . "/" . SimpleUrl::toAscii($blogItem['blog_title']) .'">' . 
                    $blogItem['blog_title'] . '</a></li>';
            }
            echo "</ul>";
        }else{
            while($blogItem = mysql_fetch_array($blog)){
            ?>
            <div class="post">
                <h2 class="title"><a href="<?php echo $_SESSION['JAB_LINK'] . "blog/" . $blogItem['blog_id'] . "/" . SimpleUrl::toAscii($blogItem['blog_title']);?>"><?php echo $blogItem['blog_title'];?></a></h2>
                <p class="meta"><span class="date">The date implement</span><span class="posted">Posted by <a href="#">Someone</a></span></p>
                <div style="clear: both;">&nbsp;</div>
                <div class="entry">
                    <?php echo $blogItem['blog_content'];?>
                </div>
            </div>
            <?php
            }
        }
    }
}

2 Cevap

Nasıl aradığınız getLatestBlogsBig? Eğer statik bir bağlam içinde arıyorsan (Blog::getLatestBlogsBig()), sonra da $this bir nesnenin içine çözülemez. Sen Blog sınıfının bir örneği üzerinde getLatestBlogsBig yöntemini çağırmanız gerekir.

Eğer bu hat ulaşmak için nesne modunda olmak zorunda çünkü ben size attılar kod ile bu hata / hattına nasıl alabilirim anlamıyorum. GetLatestBlogsBig () aslında koşucu var kodunda statik ilan edilir?

$this->myFunction() statik işlev içinde kullanarak çalışmaz. self::myFunction() yerine kullanın. Sadece myFunction () statik bir işlevi olması gerektiğini akılda tutmak