刚学php 这代码怎么看起来这么费劲啊?问题都标在注释里了

<?php
require('config.php');

header('Content-Type: text/javascript');

$API = get_extdirect_api('api');  //'api' 有什么用?get_extdirect_api()里没有处理參数的啊?;

# convert API config to Ext.Direct spec
$actions = array();
foreach($API as $aname=>&$a){// $aname=QueryDatabase $a=array('methods'=>arry())
    $methods = array();

    foreach($a['methods'] as $mname=>&$m){//$mname=getResult $m=array('len'=>1)
        if (isset($m['len'])) {
            $md = array(
                'name'=>$mname,
                'len'=>$m['len']
            );
        } else {
            $md = array(
                'name'=>$mname,
                'params'=>$m['params']  //$m 没有'params'这个键啊?
                );
        }
        if(isset($m['formHandler']) && $m['formHandler']){//$m 没有'formHandler'这个键啊?
            $md['formHandler'] = true;
        }
        
        if (isset($m['metadata'])) {//$m 没有'metadata'这个键啊?
            $md['metadata'] = $m['metadata'];
        }
        $methods[] = $md;  //$md=array
    }

    $actions[$aname] = $methods;
}

$cfg = array(
    'url'=>'php/router.php',
    'type'=>'remoting',
    'actions'=>$actions
);

echo 'Ext.ns("Ext.app"); Ext.app.REMOTING_API = ';

echo json_encode($cfg);
echo ';';
?>

  1. //'api' 有什么用?get_extdirect_api()里没有处理參数的啊?;
  2. //$m 没有'formHandler'这个键啊?
  3. //$m 没有'metadata'这个键啊?

 

1.全部文件检索下,看看是不是没有找对get_extdirect_api方法位置,或者贴出get_extdirect_api的完整代码。

    2.前边if这句就是判断有没有'formHandler'的。

    3.同上

    <?php

     function get_extdirect_api() {

        $API = array(
            'QueryDatabase' => array(
                'methods' => array(
                    'getResults' => array(
                        'len' => 1
                    )
                )
            )
        );

        return $API;
     }