Jump to content

Kohana, problemazito


diogopuskas
 Share

Recommended Posts

tenho aqui o meu controller,

    <?php
class template_Controller extends Controller {

    function index()
    {
        // Load the view as an object
        $view = new View('template');

        // Adding variables to the object that will be displayed in the view
        $view->title   = "Welcome to Kohana !";
        $view->heading = "My Heading";
        $view->content = "My content here.";

        // Render the view
        $view->render(TRUE);
    }
}

Tenho aqui a minha view,

<html>
    <head>
        <title><?php echo $title;?></title>
    </head>
    <body>
        <h1><?php echo $heading;?></h1>
        <p><?php echo $content;?></p>
    </body>
</html>

já li e re li a parte da documentação nesta parte, mas só que não esta a funcionar, não entendo porque :s

Fatal error: Cannot redeclare class template_Controller in C:\xampp\htdocs\myfirstkohana\application\controllers\hello.php  on line 17

Obrigado 👍

Link to comment
Share on other sites

Tens de fechar as tags PHP.

   <?php
        class template_Controller extends Controller {

    function index()
    {
        // Load the view as an object
        $view = new View('template');

        // Adding variables to the object that will be displayed in the view
        $view->title   = "Welcome to Kohana !";
        $view->heading = "My Heading";
        $view->content = "My content here.";

        // Render the view
        $view->render(TRUE);
    }
}
?>

EDIT: E o nome do ficheiro tem de ser o mesmo da classe.

http://docs.kohanaphp.com/general/controllers#controller_naming_and_anatomy

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Desculpem, mas isto de estar a aprender tem as suas dúvidas  ?

http://kohanaphp.com/tutorials/page

Estou a tentar fazer esse tutorial, mas chego ali a uma parte que não percebo uma coisa,

Next we will set up the view for displaying our main content:

application/views/page/index.php

<?=$content->content?>

Wasn't that easy? 👍

Esta parte é que não estou a perceber o porque, se alguém me conseguisse explica agradecia 🙂 Obrigado

Link to comment
Share on other sites

Bem, estou a tentar fazer aquele toturial em cima, mas esta me a dar uns errozitos, supostamente estou a fazer aquilo bem, cria se o controller sem nenhuma função, depois cria se as views(header,content e o footer) e uma view para chamar os 3 .. depois é adicionado a função index ao controller que indica o caminho à view e a funcion contruct que pelo que percebi é por causa das sub paginas que vão ser criadas(no controller que não tinha nenhuma função). depois temos o index.php que não percebi bem uma coisa, porque é que tem o caminho de page/index.php , bem cria se a pagina "page" dentro das views e depois cria se a pagina que vai ser preenchida pelo content. Penso que não me esqueci de nada.

http://img704.imageshack.us/img704/4613/qqqqel.jpg

é que basicamente, o problema está aqui,

<?php

class  Page_Controller extends  Controller {
        
function  index()
{
        $this->layout->header = $this->load->view("header", array_merge($this->header, array("title" => $page->title)));
        $this->layout->content = $this->load->view("page/index", array("content" => ""));
        $this->layout->footer = $this->load->view("footer.php");
        $this->layout->render(TRUE);

if ($page = $this->page->get_page($this->location))
        {
                if (!$this->input->get("no_header"))
                        $this->layout->header = $this->load->view("header", array_merge($this->header, array("title" => "radd-cpa.org :: " . $page->title)));
                else
                        $this->layout->header = "";
                $this->layout->content = $this->load->view("page/index", array("page" => $page));

                $this->layout->render(TRUE);
        }
        else
                Kohana::show_404();

}

function  __construct()
{
        parent::__construct();

        $this->load->model("page");
        $this->header = array("menu" => $this->page->get_menu(), "title" => "example.com :: Home");

        /* Get the page (page or folder/page) */
        $base = ($this->uri->segment(2) == "edit") ? 2 : 0;

        if ($this->uri->segment((1+$base)) !== false && $this->uri->segment((2+$base)) !== false) // This is a sub page
                $this->location = array("parent" => $this->uri->segment((1+$base)), "child" => $this->uri->segment((2+$base)));
        else if ($this->uri->segment((1+$base)) !== false && $this->uri->segment((2+$base)) === false) // This is a main page
                $this->location = array("parent" => $this->uri->segment((1+$base)));
        else // This is the home page
                $this->location = array("parent" => "index");

        $this->layout = $this->load->view("layout");

        $this->layout->footer = ($this->input->get("no_header")) ? "" : $this->load->view("footer");
}

}

?>

Alguma sugestão ? Obrigado

Link to comment
Share on other sites

O tutorial que estás a usar é antigo e já não se usa.

O erro que te está a dar é na função load, que está classificada como deprecated na documentação oficial a partir da versão 2.1

Para iniciares um model, faz assim :

$this->page = new Page_Model;

edit: se precisares de ajuda, não hesites em cá vir, que deixa-me contente ver a malta a aventurar-se nessa framework 👍

Link to comment
Share on other sites

Basicamente, o que vou ter de fazer é um site para uma empresa que crie graficos e vai buscar dados à bd, portanto queria alguma coisa relativamente ligado a isso ou parecido

relativamente aos graficos,vou usar esta library, http://pchart.sourceforge.net/ pelo que vi é bastante boa, se calhar a melhor do php.

edit: e relativamente à licença do GPL da library, falei com os monitores, eles disseram que podia, mas não foi com muito boa cara lol.

Link to comment
Share on other sites

A google também tem uma API boa para gráficos, bastante completa : http://code.google.com/intl/pt-PT/apis/charttools/

Tem a vantagem de não puxar pela máquina em que tiveres o script.

Quanto ao Kohana, é fácil de aprender, e depois de se aprender é sempre a andar 👍

Link to comment
Share on other sites

Vá por outras palavras, comerciável lol mas como a outra tem a licença GPL, fica se só por usável lol

Mas com um tutorial, fica se sempre a perceber melhor como funciona, mas eu vou vendo isso, mas se encontrares alguma coisa relevante para isto que estou a fazer posta aqui sff 🙂

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.