Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

make_methodp - Online w chmurze

Uruchom make_methodp w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

Jest to polecenie make_methodp, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


make_method — Zamień kod Perla w opis XML dla RPC::XML::Server

STRESZCZENIE


make_method --name=system.identification --helptext='Ciąg identyfikatora systemu'
--signature=string --code=ident.pl --output=ident.xpl

make_method --base=metody/identyfikacja

OPIS


Jest to proste narzędzie do tworzenia plików opisowych XML w celu określenia metod
opublikowany przez an RPC::XML::Serweroparty na serwerze.

Jeśli serwer jest napisany w taki sposób, że eksportowane przez niego metody (lub publikuje) są częścią
działający kod, wówczas nie ma potrzeby stosowania tego narzędzia. Jednakże w przypadkach, gdy serwer może
być oddzielny i odrębny od kodu (takiego jak serwer RPC oparty na Apache), określając
procedury i wypełnianie informacji uzupełniających może być kłopotliwe.

Jedno rozwiązanie, które RPC::XML::Serwer oferty pakietowe to sposób na załadowanie publikacji
kod z pliku zewnętrznego. Plik jest zapisany w prostym dialekcie XML, który wyraźnie definiuje
nazwa widoczna zewnętrznie, sygnatury metod, tekst pomocy i sam kod. Te
pliki można tworzyć ręcznie lub tego narzędzia można używać jako pomocy.

WYMAGANE ARGUMENTY


Nie ma wymaganych argumentów, ale jeśli nie zostanie przekazana wystarczająca liczba opcji, zostanie to wykonane
zostanie o tym poinformowany poprzez komunikat o błędzie.

OPCJE


Narzędzie rozpoznaje następujące opcje:

--help
Drukuje krótkie podsumowanie opcji.

--nazwa=ŁAŃCUCH
Określa opublikowaną nazwę kodowanej metody. To jest nazwa, pod którą to jest
będą widoczne dla klientów serwera.

--przestrzeń nazw=ŁAŃCUCH
Określa przestrzeń nazw, w której będzie oceniany kod metody, gdy XPL
plik jest ładowany przez instancję serwera.

--typ=ŁAŃCUCH
Określ typ pliku wynikowego. „Typ” odnosi się tutaj do tego, czy kontener
tag użyty w wynikowym kodzie XML będzie określał a procedura lub metoda, Wartość domyślna to
metoda. Ciąg jest traktowany niezależnie od wielkości liter i tylko pierwszy znak („m” lub
„p”) jest faktycznie brane pod uwagę.

--wersja=ŁAŃCUCH
Określ znacznik wersji procedury kodu.

--ukryty
Jeśli jest to passe, wynikowy plik będzie zawierał znacznik informujący demona serwera
aby nie uwidaczniać rutyny poprzez żadne interfejsy introspekcji.

--signature=ŁAŃCUCH [ --podpis=ŁAŃCUCH ... ]
Określ jeden lub więcej podpisów dla metody. Podpisy powinny być nazwami typu jak
określone w dokumentacji w RPC::XML, z elementami oddzielonymi dwukropkiem. Ty
może również oddzielić je spacjami, jeśli zacytujesz argument. Ta opcja może być
określony więcej niż raz, ponieważ niektóre metody mogą mieć kilka podpisów.

--tekst pomocy=ŁAŃCUCH
Określ tekst pomocy dla metody jako prosty ciąg znaków w wierszu poleceń. Nie
nadaje się do strasznie długich ciągów pomocy.

--helpfile=PLIK
Przeczytaj tekst pomocy dla metody z określonego pliku.

--kod=PLIK
Przeczytaj rzeczywisty kod procedury z określonego pliku. Jeśli ta opcja nie jest
podany, kod jest odczytywany ze standardowego deskryptora pliku wejściowego.

--output=PLIK
Zapisz wynikową reprezentację XML do określonego pliku. Jeśli ta opcja nie jest
podane, dane wyjściowe trafiają do standardowego deskryptora pliku wyjściowego.

--base=NAZWA
Jest to specjalna opcja „wszystko w jednym”. Jeśli zostanie przekazany, wszystkie inne opcje zostaną zignorowane.

Wartość służy jako element bazowy do odczytywania informacji z pliku o nazwie
BASE.baza. Plik ten będzie zawierał specyfikację nazwy, wersji, statusu ukrytego,
podpisy i inne informacje o metodzie. Każda linia pliku powinna wyglądać jak jedna z
następujące brzmienie:

Nazwa: STRING
Określ nazwę publikowanej procedury. Jeśli ta linia nie pojawi się,
to wartość --baza argument z usuniętymi wszystkimi elementami katalogu
używany.

Wersja: STRING
Podaj sygnaturę wersji funkcji. Jeśli nie ma linii pasującej do tego wzorca
obecny, żaden znacznik wersji nie zostanie zapisany.

Ukryty: STRING
Jeśli obecny, STRING powinno być „tak” lub „nie” (wielkość liter nie ma znaczenia). Jeśli to jest
„tak”, wówczas metoda jest oznaczona jako ukryta przed dowolnym interfejsem API introspekcji.

Podpis: STRING
Linia ta może pojawić się więcej niż raz i jest traktowana kumulatywnie. Inne opcje
zastępuje poprzednie wartości, jeśli pojawiają się więcej niż raz. Część następująca po
Część „Podpis:” jest traktowana jako opublikowany podpis metody, z
elementy oddzielone spacjami. Każda metoda musi mieć przynajmniej jedną sygnaturę, tzw
brak któregokolwiek spowoduje błąd.

Plik pomocy: STRING
Określa plik, z którego ma zostać odczytany tekst pomocy. Nie jest to błąd, jeśli nie ma pomocy
tekst jest określony.

Plik kodu: STRING
Określa plik, z którego ma zostać odczytany kod. Zakłada się, że kod to Perl i
zostanie jako taki oznaczony w pliku wynikowym.

Plik kodu[język]: ciąg
Określa plik, z którego ma zostać odczytany kod, identyfikując jednocześnie język
w którym znajduje się kod. Pozwala to na utworzenie pliku XPL plik zawierający
implementacje wielu języków danej metody lub procedury.

Wszystkie linie inne niż powyższe wzorce są ignorowane.

Jeśli żaden kod nie został odczytany, narzędzie zakończy działanie z komunikatem o błędzie.

Dane wyjściowe są zapisywane BASE.xpl, zachowując informacje o ścieżce, aby
wynikowy plik znajduje się tuż obok plików źródłowych. Pozwala to na konstrukcje takie jak:

make_method --base=metody/introspekcja

FILE FORMAT ROLNICZE DTD


Format pliku tych opublikowanych procedur to bardzo prosty dialekt XML. To jest mniej
ponieważ XML jest formatem idealnym, niż dostępność parsera, biorąc pod uwagę, że
RPC::XML::Serwer class będzie już mieć kod parsera w rdzeniu. Pisanie zupełnie nowego
format nic by nie zyskał.

Deklarację typu dokumentu dla formatu można podsumować następująco:

<!ELEMENT proceduradef (nazwa, przestrzeń nazw?, wersja?, ukryta?,
podpis+, pomoc?, kod)>
<!ELEMENT methoddef (nazwa, przestrzeń nazw?, wersja?, ukryta?,
podpis+, pomoc?, kod)>
<!ELEMENTfunctiondef (nazwa, przestrzeń nazw?, wersja?, ukryta?,
podpis+, pomoc?, kod)>









Plik „rpc-method.dtd” dołączony do dystrybucji zawiera dodatkowo komentarz
do rzeczywistej specyfikacji.

Plik jest (na razie) ograniczony do jednej definicji. Rozpoczyna się to od otwarcia
tagi " „”, „ " Lub " „. Po tym następuje dokładnie jeden
" " kontener określający nazwę metody, opcjonalny znacznik wersji, opcjonalny
flaga ukrywania się przed introspekcją, jeden lub więcej „ "pojemniki określające podpisy,
opcjonalny” " kontener z tekstem pomocy, a następnie " container with the
rzeczywisty kod programu. W całym tekście należy używać kodowania jednostek dla symboli:

& C<&> (ampersand)
mi C<<> (mniej niż)
mi C<>> (większy niż)

Proces analizy w klasie serwera zdekoduje jednostki. Robić rzeczy
łatwiej, narzędzie skanuje wszystkie elementy tekstowe i koduje powyższe elementy przed zapisaniem
plik.

Połączenia Specyfikacja of Code
To nie jest "Programowanie 101 ", nie jest „Perl dla dotychczasowy Nieco Ciemny". Czyli kod
przekazywane za pośrednictwem jednego z plików „*.xpl” są przekazywane do „eval” niemal bez modyfikacji
(patrz poniżej). Dlatego źle napisany lub złośliwy kod może siać spustoszenie w Twoim komputerze
serwer. Nie jest to wina kodu serwera. Ceną jest elastyczność tego systemu
ofert jest obowiązkiem programisty, aby upewnić się, że kod jest
przetestowane i bezpieczne.

Sam kod jest traktowany możliwie dosłownie. Niektóre zmiany mogą wystąpić po stronie serwera,
ponieważ sprawia, że ​​kod nadaje się do tworzenia anonimowego podprogramu. The make_metoda
narzędzie spróbuje użyć sekcji „CDATA” do osadzenia kodu w dokumencie XML, tzw
że nie ma potrzeby kodowania bytów itp. Pozwala to uzyskać wynik *.xpl
pliki, które można przetestować pod kątem składni za pomocą „perl -cx”. Możesz w tym pomóc, upewniając się, że code
nie zawiera żadnej z dwóch następujących sekwencji znaków:

]]>

__DANE__

Pierwszym z nich jest terminator „CDATA”. Jeśli wystąpi naturalnie w kodzie, zostanie uruchomiony
koniec sekcji w parserze. Drugi to znajomy token Perla, który jest wstawiany
tak aby pozostała część dokumentu XML nie zaśmiecała parsera Perla.

PRZYKŁADY


Połączenia RPC::XML dystrybucja zawiera szereg domyślnych metod w podkatalogu o nazwie
(dość tajemniczo) „metody”. Każdy z nich jest wyrażony jako zbiór („*.base”,
Pliki „*.code”, „*.help”). Plik Makefile.PL konfiguruje powstały plik Makefile np
że służą one do tworzenia plików „*.xpl” za pomocą tego narzędzia, a następnie je instalują.

DIAGNOSTYKA


Większość problemów pojawia się w postaci komunikatów o błędach, po których następuje nagłe zamknięcie.

EXIT STATUS


Narzędzie kończy działanie ze statusem 0 w przypadku powodzenia i 255 w przeciwnym razie.

OSTRZEŻENIA


Niezbyt podoba mi się to podejście do określania metod, ale inne moje pomysły nawet mi się podobały
mniej.

Użyj make_methodp online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad