Класс обертки Mysqli by Koenig (Допилить)

9.19K
.
L!MP, ага. распоковщики. еще используються в качестве аргументов функций, если не известно сколько их будет передаваться.
пример:
def some(*args, **kwargs):
    print args # выведет список(масив)
    print kwargs # выведет хеш(именовный массив)

some(1,2,3)
>[1,2,3]
>{}
some(x=4)
>[]
>{'x': 4}
some('r', 3, '%', x=4, y='er')
>['r', '3', '%']
>{'x': 4, 'y': 'er'}

надеюсь понятно написал
.
Screamer
func_get_args()

function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs<br />\n";
    if ($numargs >= 2) {
        echo "Second argument is: " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
.
L!MP
flaky, товарищ выше ответил. Но это не совсем то потому что в РНР нет именованных аргументов.
func_gеt_аrgs() просто возвращает массив (с числовыми ключами) со всеми аргументами переданными функции.

Иными словами: есть только *аrgs, что логично.
.
L!MP, ага, ясно. значит что я предложил реализовать невозможно.
.
В реалиях РНР, самый годный вариант, это whеrе с тремя аргументами (поле, сравнение, значение).
Ну а потом можно делать так:
public function where($column, $comparison, $value) {
    // ...
}

public function whereGte($column, $value) {
    return $this->where($column, '>=', $value);
}
.
Ну а если не бояться "магии", то можно сделать что и такое:
User::whereGenderAndAgeGte('male', 18)->all();
// SELECT * FROM users WHERE gender = 'male' AND age >= '18';

... будит работать
.
L!MP, не, лудче указывать явно. по дзену питона
.
flaky, ну, это я к тому, что у РНР свои средства в достижении целей и они, не такие уж и скудные.
.
L!MP, ну ты согласишся, что в плане ООП питон богаче и гибче. да и в плане функционально програмираморования тоже хотя и он не без боков
.
flaky, конечно соглашусь, но мне не нравится питон и толу я в нём, для себя, не вижу.
Всего: 362