PHP классы / функции - PullRequest
       9

PHP классы / функции

0 голосов
/ 12 ноября 2010

Я только начинаю изучать PHP (ну, это заняло у меня годы ......), но в прошлом я всегда полагался на кодирование "hard множественный php / sql" и нечетную функцию. Теперь я вижу «мудрость и т. Д. Классов», но немного помощи, пожалуйста. Многие мои функции будут использовать общую функцию повтора для извлечения функции $ args.

ОК, есть func_get_args (), но все мои аргументы немного похожи на это (при условии, что функция называется testfunction :):

testfunction('title=this','li=no','abc=yes');   

Как лучше всего создать общую функцию, которая может использоваться во многих других функциях, которые в основном делают это (ниже) (но не беспокойтесь о echo $ a [0]. '-'. $ A [ 1]; строка, которая только для меня, чтобы увидеть, что происходит.

function args($args){
    $args = func_get_args();
    foreach ($args as $key=>$val) {
        $a = explode('=',$val);
        echo $a[0].' -'. $a[1];
    }
}

Другими словами, у меня есть 2 - 5 - 20 различных функций, все с $ args некоторого описания (хотя я знаю, что это были за аргументы), как вы создаете функцию args (), которая может использоваться внутри всех других аргументов есть сохранение "строк" кода.

Ваша помощь / ответы очень ценятся

1 Ответ

1 голос
/ 12 ноября 2010

Ключевым моментом объектно-ориентированного программирования является то, что вы создаете классы и методы, соответствующие вашей модели данных и бизнес-логике.Вы не даете никакой подсказки об этом, поэтому невозможно предложить правильный дизайн.Тем не менее, я предполагаю, что вам просто нужны некоторые общие советы о том, как повторно использовать функцию, которая выполняет некоторые манипуляции со строками.

Если функция должна быть повторно использована в связанных фрагментах кода, вы можете написать базовый классс общими функциями и несколькими дочерними классами, которые наследуются от него:

<?php
class Base{
    public function args(){
    }
}
class Foo extends Base{
}
class Far extends Base{
}
?>

Теперь у любого экземпляра Foo или Bar есть доступный метод args ():

<?php
$a = new Foo;
$a->args();
$b = new Bar;
$b->args();   
?>

Если функциядля повторного использования в несвязанных частях кода вы можете написать класс для инкапсуляции многократно используемых функций:

Теперь вы можете делать StringUtils::args() в любом месте, где вам это нужно.

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