私は、構築中の Web サイト用に単純な AJAX/jquery CMS を作成しています。すべてを簡素化するために、アクションを実行するために URL にリクエストを送信するだけです (Magento と同じように - ただし、Magento/その他の既存のオプションを使用しない理由があります)
問題は、while ループが終わらないことです (そして、PHP ドキュメントを書いている時点で、私がいるところでタイムアウトしているので、それらにアクセスできません)。
<?php
$query = explode('/',parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
$qs = array();
foreach ($query as $key=>$value) $qs[$key] = urldecode(htmlspecialchars($value));
# /action/{$class-name}/{$action}/{$field1}/{$param1}/{$field2}/{$param2}/.../{$fieldN}/{$paramN}
# e.g.
# /action/QuickOverview/get/internal_name/value
# /action/QuickOverview/update/internal_name/value1/title/value2/
$params = array();
array_shift($qs);
switch ($val = array_shift($qs)) {
case "action":
$className = array_shift($qs);
$action = array_shift($qs);
$field = true;
while ($val=array_shift($qs)!==false) {
if ($field) $params[-1] = $val;
else $params[$params[-1]] = $val;
$field = !$field;
}
unset($params[-1]);
break;
default:
var_dump("Unknown value: ".$val);
break;
}
var_dump($params);
?>
ページがタイムアウトします (おそらく永遠にループします)。この while ループを正しく終了するにはどうすればよいですか?