設定
- CakePHP 2.3.5
- PHP5.3.8
- アパッチ 2.2
- PostgreSQL 8.4
- Windows 7 プロフェッショナル x64
これは、私のプロジェクトで多くの状況の 1 つであり、CakePHP は単純なビューをレンダリングするのに 1 秒以上必要です。考えられるすべてのリクエストをテストします... ajax、json、get、post、put、delete...それぞれで、CakePHPは遅いです。
Obs .: 私はローカルホストで作業しています: データベース、サーバー、git など。すべて私のマシンで。
問題 1)
私はこのコードを持っています:
$('#multiple').delegate('.plus-payment', 'click',
function(event) {
event.preventDefault();
$.ajax({
url: "<?php echo $this->Html->url(array('controller' => 'authorizations', 'action' => 'credit_card', $table_num, $check_num)); ?>",
data: {},
dataType: 'html',
success: function(data) {
$('#multiple').append(data);
return false;
}
});
}
);
アクション:
public function credit_card($table_num, $check_num)
{
if ($this->request->is('ajax')) {
$this->layout = 'ajax';
$this->render('modal_credit_card');
} elseif ($this->request->is('post')) {
これを、このビューと呼びます:
<div class="payment">
<div class="swipe">
<label class="checkbox">
<?php echo $this->Form->checkbox('Authorization.swipe.', array('value' => 'by_hand', 'label' => false, 'div' => false, 'hiddenField' => false, 'class' => 'swipeoff')) ?><?php echo __('Manual') ?>
</label>
</div>
<?php echo $this->Form->input('Authorization.card_number.', array('label' => false, 'div' => false, 'placeholder' => __('Swipe Card'))) ?>
<?php echo $this->Form->input('Authorization.exp_date.', array('required' => false, 'label' => false, 'div' => false, 'class' => 'expdate input-mini', 'placeholder' => __('Validade'))) ?>
<span class="input-prepend">
<span class="add-on">$</span>
<?php echo $this->Form->input('Authorization.amount.', array('label' => false, 'div' => false, 'class' => 'input-small', 'placeholder' => __('Valor'))) ?>
</span>
<a href='#' class="btn btn-success plus-payment"><i class="icon icon-plus icon-white"></i></a>
<a href='#' class="btn btn-danger remove-payment"><i class="icon icon-trash icon-white"></i></a>
<hr>
</div>
CakePHP がビューを返すのに 2~3 秒かかります。
なぜ?
単なるビューであり、データベース接続もクエリも条件もありません...レンダリングするだけです。
Obs.: PHP 5.4.8 でテストされ、リクエストは 0.2~1 秒で実行されます。 どうしてか分かりません