私はシステムを構築すると同時に、OOPとMVCを学習して実装しています。
私がまだ確信が持てないのは、MVC構造にAJAXを組み込む方法だけです。そのため、私が行ったのは、さまざまなオブジェクトにアクセスして結果を返すAJAXリクエストのさまざまな「モード」に応答するタイプのコントローラーです。私のシステム。
これはこれを行うための良い方法ですか、それともシステム内の他のコントローラーとは非常に異なるこのコントローラーを使用することでMVCのルールを破っていますか?
これは私のAJAX「デリゲーター」です。
session_start() ;
function __autoload($classname)
{
include('/controllers/'.$classname.'.php') ;
}
// Deligator for contact operations.
if($_POST['mode'] == 'OPPORTUNITY_COUNT')
{
$contactManager = new ContactManager($_SESSION['userid']) ;
echo $contactManager->fetchOpportunityCount() ;
}
elseif($_POST['mode'] == 'PROSPECT_COUNT')
{
$contactManager = new ContactManager($_SESSION['userid']) ;
echo $contactManager->fetchProspectCount() ;
}
elseif($_POST['mode'] == 'CUSTOMER_COUNT')
{
$contactManager = new ContactManager($_SESSION['userid']) ;
echo $contactManager->fetchCustomerCount() ;
}
else
{
echo 'Error: Unknown mode.' ;
exit() ;
}
参考までにこれは私がルーターにデータを送る方法です:
socket.on('UPDATE_OPPORTUNITY_DATA', function(date){
$.ajax({data: 'mode=OPPORTUNITY_COUNT', success: function(data){
$('#opportunityCount').html(data) ;
shaker('#opportunityCount') ;
}
})
})