【问题标题】:Model and View issues on new install of Kohana 3.3.2 from newbie来自新手的新安装 Kohana 3.3.2 的模型和视图问题
【发布时间】:2014-08-13 19:03:14
【问题描述】:

我是 Kohana 的新手,在第 1 天遇到以下问题:

我将 Kohana 3.3.2 与 wampServer 一起使用,我可以毫无问题地在 localhost 访问 Hello World。

我在 www 目录的根目录中安装了 Kohana,所以我在 bootstrap.php 中设置了我的基本 url:

 Kohana::init(array(
    'base_url'   => '/',
   ));

正如我所说,“hello world”在 localhost 加载正常

我也在引导程序中打开了 ORM 和数据库

我创建了一个名为 User.php 的文件并将其保存在 application/classes/Model/User.php 中

在里面我有:

   class Model_User extends ORM

    {

    }

复制自网络教程

所以附加到欢迎控制器,在创建 hello world 的输出语句下,我有:

$user = ORM::factory("User");

我得到了错误:

ErrorException [ Fatal Error ]: Class 'Model_User' not found
MODPATH\orm\classes\Kohana\ORM.php [ 46 ]

我知道通过查看这个页面大家应该很熟悉,我看到所有关于它的东西都不是正确的大小写和下划线作为路径(即 Model_User 真的是 Model/User),我已经检查了我的所有案例和路径。不知道怎么回事

所以我说,让我试着做一个视图,所以我做了 application/views/myview.php

它有一个标准的 html 页面,里面有几个标签 <p>If you see me, the view loaded.</p>

我回到欢迎控制器并注释掉上面的ORM::factory 行(所以它再次显示了hello world)并从另一个关于视图的教程中添加:

 $this->request->response = View::factory( 'myview' );

我得到的只是 Hello World。

我认为我的路径一定有问题,但我无法弄清楚是什么,我希望你们能提供帮助。

注意:这里没有 .htaccess,因为它是在本地运行的,事实上我昨天只是在这台机器上安装了 wamp 来测试 kohana,所以它应该只是一个全新的安装。

Kohana 大师有什么智慧的话吗? 非常感谢!

编辑:这里是欢迎控制器的来源:

class Controller_Welcome extends Controller {

    public function action_index()
    {
        $this->response->body('hello, world!');



            $this->request->response = View::factory( 'myview' );

        //$user = ORM::factory("user");
     }
}

如上所述,如果我取消注释 ORM 行,我会得到错误页面,调用视图,我只是得到 hello world。

【问题讨论】:

  • 我还将“用户”的所有实例更改为“用户”、文件名、对它的 orm 调用、类名 - 我把“Model_”取出来放回去,没有运气
  • 当我将原始 install.php 文件放回原位时,我也注意到了这一行,我需要为我的 WAMP 做些什么来打开它吗?:启用 PECL HTTP Kohana 可以使用 http Request_Client_External 类的扩展。 cURL 启用通行证
  • 和另一个更新,我使用了一个版本的 kohana,相同的设置 v 3.2.3.1 并且得到了相同的结果。我认为这可能是值得的,因为我在 zip 文件中看到文件夹具有小写名称(控制器和模型),而在更高版本中它的(模型和控制器)
  • 把你的完整代码从控制器中,然后它会更容易检查任何东西。是使用 hello word 全新安装还是您修改了您在此处所说的更多内容?
  • 这是全新安装,我会在几分钟后发布我的代码

标签: view wamp kohana kohana-orm


【解决方案1】:

您正在使用默认的 kohana 文件,因此只需更改此行:

$this->request->response = View::factory( 'myview' );

到:

$this->response->body(View::factory( 'myview' ));

您的视图将正确呈现。

您的模型看起来正确,它应该可以工作,它对我有用... 检查你是否忘记了

<?php  ?> 

模型中的标签。

还要检查您是否在服务器设置中启用了 mod_rewrite。 如果禁用它可能会抛出 404 错误,但值得检查...

【讨论】:

  • 谢谢你,这对视图有用,你对模型中的标签是什么意思?你能说得具体点吗?
猜你喜欢
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2010-12-24
  • 2015-11-01
  • 2014-08-07
相关资源
最近更新 更多