Как создать WordPress как функции в PHP? - PullRequest
2 голосов
/ 23 июня 2009

Чтобы передать переменные в функции, я делаю следующее (как и другие люди, я уверен):

function addNums($num1, $num2)
{
    $num1 + $num2;
}

addNums(2, 2);

Мой вопрос заключается в том, как мне структурировать функцию, которая будет действовать как Wordpress:

wp_list_categories('title_li=');

По сути, я ищу способ создать пару ключ / значение в моих функциях. Любой совет приветствуется.

Ответы [ 2 ]

5 голосов
/ 23 июня 2009

parse_str () должен делать то, что вы хотите: http://www.php.net/parse_str

2 голосов
/ 23 июня 2009

Вы можете использовать parse_str , чтобы проанализировать строку для аргументов. Хитрость заключается в том, что вы можете не захотеть просто разрешать передачу всех без исключения параметров. Итак, вот пример того, как разрешается использовать только определенные параметры, когда они передаются.

В следующем примере будут разрешены только foo, bar и valid.

function exampleParseArgs($arg_string) {
    // for every valid argument, include in
    // this array with "true" as a value
    $valid_arguments = array(
        'foo' => true,
        'bar' => true,
        'valid' = true,
    );
    // parse the string
    parse_str($arg_string, $parse_into);
    // return only the valid arguments
    return array_intersect_key($parse_into,$valid_arguments);

}

baz будет удалено, поскольку оно не указано в $valid_arguments. Итак, для этого звонка:

print_r(exampleParseArgs('foo=20&bar=strike&baz=50'));

Результаты:

Array
(
    [foo] => 20
    [bar] => strike
)

Кроме того, вы можете просмотреть исходный код Wordpress здесь и, разумеется, загрузив его с wordpress.org. Похоже, они делают что-то очень похожее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...