[英]cake php calling a function, but the controller wont execute it
我來自codeIgniter,但要實習,我必須使用cakePHP調試正在進行的網站。
我對mvc熟悉,但目前仍無法使用,甚至在搜索后也找不到任何解決方案。
我想要的是能夠在控制器中調用函數(使用codeIgniter輕松完成任務),但是在調試過程中,我注意到調用了控制器,但未調用函數:
<?php
App::uses('AppController', 'Controller');
class FournisseursController extends AppController { //debug stop here
public $helpers = array('Html', 'Form');
public function index() {
$this->set('Personnes', $this->Fournisseur->find('all'));
}
public function addFournisseur() {
//contain some code , but not usefull for this problem
}
}
}
?>
在第二行之后,顯示了相關的視圖(總是顯示一個視圖是一個很奇怪的概念,但是我想Cake php可以這樣工作)。 和調試甚至不啟動目標功能。
我從一個角度來稱呼它:
<form action="../../Fournisseurs/addFournisseur" method="post">
<input type="submit">
</form>
我知道從視圖中調用控制器並不是很好,但是在那種情況下,我需要用戶輸入一些數據以將其發送到數據庫中,我不知道其他任何方式。 我已經閱讀了有關控制器的文檔,但它沒有幫助。
最后一件事,如果我更改控制器中函數的名稱,則不會調用該控制器:一條錯誤消息,說明該方法不存在(因此,對於我來說,控制器知道我要調用該函數,因為控制器需要運行)。
自從我堅持這一天以來,我很確定這是一個愚蠢的錯誤。 即使您沒有回答,也感謝您閱讀本文,也很抱歉,如果我犯了任何英語錯誤,這是我的第一篇文章,而且我不是母語。
我只是依靠Xdebug,盡管斷點沒有在函數中停止,所以我認為它沒有被調用(函數和其中的代碼),但是借助debug($data)
函數,斷點仍然有效而且我能夠繼續對該函數進行調試。
我不知道為什么Xdebug會這樣,但是我現在不會僅僅依靠它。
感謝所有幫助的人,我現在可以繼續前進!
您還可以使用如下所示的Form helper,在其中可以定義contoller和操作名稱:
<?php echo $this->Form->create('Fournisseur', array('url' => array('controller' => 'Fournisseurs', 'action' => 'addFournisseur'))); ?>
// Form elements
<?php echo $this->Form->end(); ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.