bool sare_property_add ( string $typ, string $nazwa_cechy, mixed $extra, [number &$err] )
Funkcja tworzy nową cechę o podanej nazwie $nazwa_cechy, typie $typ oraz ewentualnych dodatkowych właściwościach dla danego typu poprzez parametr $extra. Podając zmienną jako czwarty parametr będziemy mogli sprawdzić jaki błąd wystąpił.
Możliwe wartości dla parametru $typ to:
- int (liczbowy)
- varchar (tekstowy)
- enum (lista)
- spec_agr (zgoda)
Parametr $nazwa_cechy:
- Może zawierać tylko litery, cyfry, znak podkreślenia oraz znak minus.
- Musi zaczynać się od litery lub cyfry.
- Nazwa cechy nie może być nazwą zastrzeżoną:
propX (gdzie X jest liczbą od 0 do 9), cechaX (gdzie X jest liczbą od 0 do 9), grupyX (gdzie X jest liczbą większą lub równą 0), id, email, gsm, status, nazwa, komentarz, wpis, wypis, pochodzenie, typ_maila, wyslanych, wyslanych_sms, odrzuconych_ba, quality_num, quality, odrzuconych, mainkey, update_time, hash, name, key, mkey, confirm_link, remove_link, www_version, profile_link, confirm_link_interface, uid, remove_link2, update_link, mailing. - Nazwa nowej cechy może mieć maksymalnie 32 znaki (nadmiarowe znaki zostaną przycięte).
Parametr $extra określa dodatkowe właściwości dla podanego typu cechy, odpowiednio dla typów:
- int – signed (wartość ze znakiem) lub unsigned (wartość bez znaku)
- varchar – liczba całkowita określająca maksymalną ilość znaków jaką może przechowywać cecha
- enum – tablica łańcuchów określających wartości jakie może przyjąć cecha, domyślnie dokładany jest pusty łańcuch pozwalający na nieokreślenie wartości cechy.
- spec_agr – wartość parametru $extra nie ma znaczenia
Kody błędów:
- 1 – niewłaściwa wartość argumentu $typ
- 2 – niepoprawna składniowo nazwa nowej cechy
- 3 – niepoprawne lub niemożliwe określenie długości cechy dla typu varchar
- 4 – przy tworzeniu cechy typu enum podany parametr nie jest tablicą stringów
- 5 – nazwa tworzonej cechy jest zastrzeżona
- 6 – cecha o podanej nazwie już istnieje
Przykłady:
1 2 3 4 5 6 7 8 9 10 11 12 |
$typ = 'enum'; $nazwa_cechy = 'nowa_cecha1'; $extra = array('val1', 'val2'); $err = 0; if (!sare_property_add($typ, $nazwa_cechy, $extra, $err)) { print($err); } else { print('ok'); } |
Skrypt tworzy cechę typu lista
1 2 3 4 5 6 7 8 9 10 11 12 |
$typ = 'spec_agr'; $nazwa_cechy = 'nowa_cecha2'; $extra = ''; $err = 0; if (!sare_property_add($typ, $nazwa_cechy, $extra, $err)) { print($err); } else { print('ok'); } |
Skrypt tworzy cechę typu zgoda