簡體   English   中英

蛋糕php調用函數,但控制器不會執行它

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM