如何在Kohana 3.3中正确设置路由,其中我的控制器和目录的名称与下面的示例相同?
/application/classes/Controller/Admin/Author.php - admin/author - admin/author/add - admin/author/edit /application/classes/Controller/Admin/Author/Book.php - admin/author/book - admin/author/book/add - admin/author/book/edit
当按照指定的顺序使用以下路由时,我只能访问admin/author {/ action},而不能访问admin/author/book {/ action}.
通过撤消路由顺序,我可以访问admin/author/book {/ action},但不能访问admin/author {/ action}
Route::set('admin', 'admin(/<controller>(/<action>(/<id>)))')
->defaults(array(
'directory' => 'admin',
'controller' => 'Main',
'action' => 'index',
));
Route::set('admin/author', 'admin/author(/<controller>(/<action>(/<id>)))')
->defaults(array(
'directory' => 'admin/author',
'controller' => 'Main',
'action' => 'index',
));
Run Code Online (Sandbox Code Playgroud) 在Kohana 3.3的DOCROOT文件夹中有一个新vendor文件夹.
它是为了什么?
关于PSR-0的实现以及必须从命令行执行哪些命令,我需要采取哪些步骤从Kohana 3.2升级到3.3?
希望你能帮助我解决这个奇怪的问题:我正试图从一个控制器内重定向,但Kohana不断抛出一个异常,我无法弄清楚原因:
Cadastro.php中的代码:
try{
$this->redirect('/dados', 302);
} catch (Exception $e) {
$this->response->body(Json_View::factory(array("line ".$e->getLine()." of file ".$e->getFile().":".$e->getMessage()." - trace as string: ".$e->getTraceAsString())));
} }
Run Code Online (Sandbox Code Playgroud)
上面代码中的异常返回的堆栈跟踪消息是:
#0 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\HTTP.php(33): Kohana_HTTP_Exception::factory(302)
#1 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Controller.php(127): Kohana_HTTP::redirect('\/dados', 302)
#2 C:\\xampp\\htdocs\\grademagica\\modules\\grademagica\\classes\\Controller\\Cadastro.php(123): Kohana_Controller::redirect('\/dados', 302)
#3 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Controller.php(84): Controller_Cadastro->action_signin()
#4 [internal function]: Kohana_Controller->execute()
#5 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Request\\Client\\Internal.php(97): ReflectionMethod->invoke(Object(Controller_Cadastro))
#6 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Request\\Client.php(114): Kohana_Request_Client_Internal->execute_request(Object(Request), Object(Response))
#7 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Request.php(990): Kohana_Request_Client->execute(Object(Request))
#8 C:\\xampp\\htdocs\\grademagica\\index.php(123): Kohana_Request->execute()
#9 {main}
Run Code Online (Sandbox Code Playgroud)
Cadastro.php中的第123行是"$ this-> redirect('/ dados',302);",如上所述.有谁能帮我展示我做错了什么?我按照文档的确切说明进行操作
谢谢
我遇到了Kohana 3.3的问题.我无法在Controller上使用$ this-> request-> post()获取$ _POST值.我不知道我的代码出了什么问题.希望你能在这里帮助我.顺便说一句,我能够使用Kohana 3.3在我的所有模板上使用Twig但是我无法处理来自表单的数据.谢谢.:-)
这是我的代码:
控制器:
class Controller_Setup extends Controller{
public function action_item_group(){
if (HTTP_Request::POST == $this->request->method()){
// Post has no data
print_r($this->request->post());
}
$this->response->body( Twig::factory('setup/sample_form') );
}
}
Run Code Online (Sandbox Code Playgroud)
视图
<form class="form-horizontal" action="item_group" method="post" name="setup_form">
<input type="text" value="">
<button type="submit">Save</button>
</form>
Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用Kohana 3.3的项目.我遇到了一个我想连接数据库的问题.该应用程序告诉我它正在使用MySQL并且它已经崩溃了.
为了解决这个问题,我已经为Kohana 3.3下载了一个MySQLi驱动程序,并按照说明进行操作(在modules文件夹中创建一个mysqli文件夹,并在bootstrap.php中添加一个新行来启用它).
但是,当我尝试执行任何数据库操作时,它仍然说它正在使用MySQL.错误读取:"Database_Exception [8192]:mysql_connect():不推荐使用mysql扩展,将来将删除:使用mysqli或PDO代替".
我用来启用模块的那条线是 'mysqli' => MODPATH.'mysqli', // MySQLi support for Kohana
我正在使用的MySQLi驱动程序是这个(链接到github).
任何人都可以看到出了什么问题?
提前致谢.