make_methodp - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ make_methodp ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


make_method - ປ່ຽນລະຫັດ Perl ໃຫ້ເປັນຄໍາອະທິບາຍ XML ສໍາລັບ RPC::XML::Server

ສະຫຼຸບສັງລວມ


make_method --name=system.identification --helptext='System ID string'
--signature=string --code=ident.pl --output=ident.xpl

make_method --base=methods/ການກໍານົດ

ລາຍລະອຽດ


ນີ້​ແມ່ນ​ເປັນ​ເຄື່ອງ​ມື​ງ່າຍ​ດາຍ​ເພື່ອ​ສ້າງ​ໄຟລ​໌​ອະ​ທິ​ບາຍ XML ສໍາ​ລັບ​ການ​ລະ​ບຸ​ວິ​ທີ​ການ​ທີ່​ຈະ​ເປັນ​
ຈັດພີມມາໂດຍ RPC::XML::ເຊີບເວີ-based server.

ຖ້າເຄື່ອງແມ່ຂ່າຍຖືກຂຽນເຊັ່ນວ່າວິທີການທີ່ມັນສົ່ງອອກ (ຫຼື ເຜີຍແຜ່) ແມ່ນ​ສ່ວນ​ຫນຶ່ງ​ຂອງ​
ແລ່ນລະຫັດ, ຫຼັງຈາກນັ້ນບໍ່ຈໍາເປັນຕ້ອງມີເຄື່ອງມືນີ້. ຢ່າງໃດກໍຕາມ, ໃນກໍລະນີທີ່ເຄື່ອງແມ່ຂ່າຍອາດຈະ
ແຍກແລະແຕກຕ່າງຈາກລະຫັດ (ເຊັ່ນເຄື່ອງແມ່ຂ່າຍ RPC ທີ່ອີງໃສ່ Apache), ການລະບຸ
ປົກກະຕິແລະການຕື່ມຂໍ້ມູນສະຫນັບສະຫນູນສາມາດ cumbersome.

ການ​ແກ້​ໄຂ​ຫນຶ່ງ​ທີ່​ RPC::XML::ເຊີບເວີ ການສະເຫນີຊຸດແມ່ນວິທີການໂຫຼດທີ່ສາມາດເຜີຍແຜ່ໄດ້
ລະຫັດຈາກໄຟລ໌ພາຍນອກ. ໄຟລ໌ແມ່ນຢູ່ໃນພາສາ XML ງ່າຍໆທີ່ອະທິບາຍຢ່າງຊັດເຈນ
ຊື່ທີ່ເຫັນໄດ້ຈາກພາຍນອກ, ລາຍເຊັນວິທີການ, ຂໍ້ຄວາມຊ່ວຍເຫຼືອ ແລະລະຫັດຕົວມັນເອງ. ເຫຼົ່ານີ້
ໄຟລ໌ອາດຈະຖືກສ້າງຂື້ນດ້ວຍຕົນເອງ, ຫຼືເຄື່ອງມືນີ້ອາດຈະຖືກໃຊ້ເປັນຜູ້ຊ່ວຍ.

ຕ້ອງການ ການໂຕ້ຖຽງ


ບໍ່ມີການໂຕ້ຖຽງທີ່ຕ້ອງການ, ແຕ່ຖ້າບໍ່ມີທາງເລືອກທີ່ພຽງພໍຜ່ານທ່ານ
ໄດ້​ຮັບ​ການ​ບອກ​ໂດຍ​ຂໍ້​ຄວາມ​ຜິດ​ພາດ​.

OPTIONS


ເຄື່ອງມືຮັບຮູ້ທາງເລືອກຕໍ່ໄປນີ້:

- ຊ່ວຍ
ພິມບົດສະຫຼຸບສັ້ນຂອງທາງເລືອກ.

--name=STRING
ລະບຸຊື່ທີ່ເຜີຍແຜ່ຂອງວິທີການທີ່ຖືກເຂົ້າລະຫັດ. ນີ້ແມ່ນຊື່ທີ່ມັນ
ຈະເຫັນໄດ້ໂດຍລູກຄ້າຂອງເຄື່ອງແມ່ຂ່າຍ.

--namespace=STRING
ລະບຸ namespace ທີ່ລະຫັດຂອງວິທີການຈະໄດ້ຮັບການປະເມີນໃນ, ໃນເວລາທີ່ XPL
ໄຟລ໌ຖືກໂຫລດໂດຍເຊີບເວີຕົວຢ່າງ.

--type=STRING
ລະບຸປະເພດສໍາລັບໄຟລ໌ຜົນໄດ້ຮັບ. "ປະເພດ" ໃນທີ່ນີ້ຫມາຍເຖິງວ່າບັນຈຸ
tag ທີ່ໃຊ້ໃນ XML ຜົນໄດ້ຮັບຈະລະບຸ a ລະບຽບການ ຫຼື ວິທີການ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
ວິທີການ. ສະຕຣິງຖືກປະຕິບັດຕໍ່ກໍລະນີທີ່ບໍ່ຂຶ້ນກັບຕົວຕົນ, ແລະມີພຽງແຕ່ຕົວອັກສອນທໍາອິດ ("m" ຫຼື
"p") ແມ່ນຖືວ່າຕົວຈິງແລ້ວ.

--version=STRING
ລະບຸສະແຕມສະບັບສໍາລັບລະຫັດປະຈໍາ.

-- ເຊື່ອງໄວ້
ຖ້າອັນນີ້ຜ່ານໄປ, ໄຟລ໌ຜົນໄດ້ຮັບຈະປະກອບມີແທັກທີ່ບອກ server daemon
ເພື່ອບໍ່ໃຫ້ຄວາມເປັນປົກກະຕິສາມາດເຫັນໄດ້ໂດຍຜ່ານການໂຕ້ຕອບ introspection ໃດ.

--signature=STRING [ --signature=STRING ... ]
ລະບຸໜຶ່ງ ຫຼືຫຼາຍລາຍເຊັນສຳລັບວິທີການ. ລາຍເຊັນຄວນເປັນຊື່ປະເພດ
ວາງໄວ້ໃນເອກະສານໃນ RPC::XML, ທີ່ມີອົງປະກອບທີ່ແຍກອອກໂດຍຈໍ້າສອງເມັດ. ເຈົ້າ
ອາດຈະແຍກພວກມັນດ້ວຍຊ່ອງຫວ່າງ, ຖ້າທ່ານອ້າງເຖິງການໂຕ້ຖຽງ. ທາງເລືອກນີ້ອາດຈະເປັນ
ລະບຸຫຼາຍກວ່າຫນຶ່ງຄັ້ງ, ເນື່ອງຈາກວ່າບາງວິທີການອາດຈະມີລາຍເຊັນຫຼາຍ.

--helptext=STRING
ລະບຸຂໍ້ຄວາມຊ່ວຍເຫຼືອສຳລັບວິທີການເປັນສະຕຣິງງ່າຍໆໃນແຖວຄຳສັ່ງ. ບໍ່ແມ່ນ
ເຫມາະສໍາລັບສາຍການຊ່ວຍເຫຼືອຍາວ terribly.

--helpfile=FILE
ອ່ານຂໍ້ຄວາມຊ່ວຍເຫຼືອສໍາລັບວິທີການຈາກໄຟລ໌ທີ່ລະບຸໄວ້.

--code=FILE
ອ່ານລະຫັດຕົວຈິງສໍາລັບການປົກກະຕິຈາກໄຟລ໌ທີ່ລະບຸໄວ້. ຖ້າທາງເລືອກນີ້ບໍ່ແມ່ນ
ໃຫ້, ລະຫັດຖືກອ່ານຈາກຕົວອະທິບາຍໄຟລ໌ວັດສະດຸປ້ອນມາດຕະຖານ.

--output=FILE
ຂຽນການສະແດງຜົນ XML ໄປຫາໄຟລ໌ທີ່ລະບຸ. ຖ້າທາງເລືອກນີ້ບໍ່ແມ່ນ
ໃຫ້, ຫຼັງຈາກນັ້ນຜົນໄດ້ຮັບໄປຫາຕົວອະທິບາຍໄຟລ໌ຜົນຜະລິດມາດຕະຖານ.

--base=NAME
ນີ້ແມ່ນທາງເລືອກພິເສດ, "ທັງຫມົດໃນຫນຶ່ງ". ຖ້າຜ່ານ, ທາງເລືອກອື່ນທັງໝົດຈະຖືກລະເລີຍ.

ຄ່າຖືກນໍາໃຊ້ເປັນອົງປະກອບພື້ນຖານສໍາລັບການອ່ານຂໍ້ມູນຈາກໄຟລ໌ທີ່ມີຊື່
ພື້ນຖານ.ຖານ. ໄຟລ​໌​ນີ້​ຈະ​ມີ​ສະ​ເພາະ​ຂອງ​ຊື່​, ສະ​ບັບ​, ສະ​ຖາ​ນະ​ພາບ​ທີ່​ເຊື່ອງ​ໄວ້​,
ລາຍເຊັນ ແລະຂໍ້ມູນວິທີການອື່ນໆ. ແຕ່ລະແຖວຂອງໄຟລ໌ຄວນຈະຄ້າຍຄືຫນຶ່ງຂອງ
ຕໍ່ໄປນີ້:

ຊື່ຂອງທ່ານ: ຄັກ
ລະບຸຊື່ຂອງສິ່ງທີ່ເຮັດປະຈຳທີ່ກຳລັງຖືກເຜີຍແຜ່. ຖ້າເສັ້ນນີ້ບໍ່ປາກົດ,
ຫຼັງຈາກນັ້ນ, ມູນຄ່າຂອງ --ຖານ ການໂຕ້ຖຽງກັບອົງປະກອບໄດເລກະທໍລີທັງຫມົດທີ່ຖືກໂຍກຍ້າຍອອກຈະເປັນ
ໃຊ້ແລ້ວ.

Version: ຄັກ
ສະໜອງສະແຕມສະບັບສຳລັບຟັງຊັນ. ຖ້າບໍ່ມີເສັ້ນກົງກັບຮູບແບບນີ້
ປະຈຸບັນ, ບໍ່ມີແທັກສະບັບໃດຈະຖືກຂຽນ.

ເຊື່ອງໄວ້: ຄັກ
ຖ້າມີ, ຄັກ ຄວນຈະເປັນ "ແມ່ນ" ຫຼື "ບໍ່" (ກໍລະນີບໍ່ສໍາຄັນ). ຖ້າມັນເປັນ
"ແມ່ນ", ຫຼັງຈາກນັ້ນວິທີການຖືກຫມາຍທີ່ຈະເຊື່ອງໄວ້ຈາກ API introspection ໃດ.

ລາຍເຊັນ: ຄັກ
ເສັ້ນນີ້ອາດຈະປາກົດຫຼາຍກວ່າຫນຶ່ງຄັ້ງ, ແລະຖືກປະຕິບັດຢ່າງສະສົມ. ທາງເລືອກອື່ນ
ລົບລ້າງຄ່າທີ່ຜ່ານມາຖ້າພວກມັນປາກົດຫຼາຍກວ່າຫນຶ່ງຄັ້ງ. ສ່ວນດັ່ງຕໍ່ໄປນີ້
"ລາຍເຊັນ:" ສ່ວນຫນຶ່ງແມ່ນເອົາເປັນລາຍເຊັນທີ່ເຜີຍແຜ່ສໍາລັບວິທີການ, ກັບ
ອົງປະກອບທີ່ແຍກອອກໂດຍຊ່ອງຫວ່າງ. ແຕ່ລະວິທີຕ້ອງມີຢ່າງນ້ອຍໜຶ່ງລາຍເຊັນ, ດັ່ງນັ້ນ
ການຂາດການໃດໆຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດ.

ໄຟລ໌ຊ່ວຍເຫຼືອ: ຄັກ
ລະບຸໄຟລ໌ທີ່ຈະອ່ານຂໍ້ຄວາມຊ່ວຍເຫຼືອ. ມັນບໍ່ແມ່ນຄວາມຜິດພາດຖ້າບໍ່ມີການຊ່ວຍເຫຼືອ
ຂໍ້ຄວາມຖືກລະບຸ.

ລະຫັດໄຟລ໌: ຄັກ
ລະບຸໄຟລ໌ທີ່ຈະອ່ານລະຫັດ. ລະຫັດແມ່ນສົມມຸດວ່າ Perl, ແລະ
ຈະຖືກ tagged ເຊັ່ນນັ້ນໃນໄຟລ໌ຜົນໄດ້ຮັບ.

Codefile[lang]: string
ລະບຸໄຟລ໌ທີ່ຈະອ່ານລະຫັດ, ໃນຂະນະທີ່ຍັງລະບຸພາສາ
ວ່າລະຫັດຢູ່ໃນ. ນີ້ອະນຸຍາດໃຫ້ສ້າງ a XPL ໄຟລ໌ທີ່ປະກອບມີ
ການຈັດຕັ້ງປະຕິບັດຫຼາຍພາສາຂອງວິທີການ ຫຼືຂັ້ນຕອນທີ່ໃຫ້ໄວ້.

ສາຍອື່ນນອກເໜືອໄປຈາກຮູບແບບຂ້າງເທິງແມ່ນຖືກລະເລີຍ.

ຖ້າບໍ່ມີລະຫັດຖືກອ່ານ, ຫຼັງຈາກນັ້ນເຄື່ອງມືຈະອອກດ້ວຍຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ.

ຜົນຜະລິດແມ່ນຂຽນໃສ່ ພື້ນຖານ.xpl, ຮັກສາຂໍ້ມູນເສັ້ນທາງເພື່ອວ່າ
ໄຟລ໌ຜົນໄດ້ຮັບແມ່ນຢູ່ຄຽງຂ້າງໄຟລ໌ແຫຼ່ງ. ນີ້ອະນຸຍາດໃຫ້ການກໍ່ສ້າງເຊັ່ນ:

make_method --base=ວິ​ທີ​ການ / introspection

ເອກະສານ ຮູບແບບ ແລະ ບໍລິສັດດີເອ


ຮູບແບບໄຟລ໌ສໍາລັບລາຍການທີ່ເຜີຍແຜ່ເຫຼົ່ານີ້ເປັນພາສາ XML ທີ່ງ່າຍດາຍຫຼາຍ. ນີ້ແມ່ນຫນ້ອຍ
ເນື່ອງຈາກ XML ເປັນຮູບແບບທີ່ເຫມາະສົມກ່ວາມັນແມ່ນຄວາມພ້ອມຂອງ parser, ເນື່ອງຈາກ
RPC::XML::ເຊີບເວີ class ຈະມີລະຫັດ parser ຢູ່ໃນຫຼັກແລ້ວ. ການຂຽນໃຫມ່ຫມົດ
ຮູບ​ແບບ​ຈະ​ບໍ່​ໄດ້​ຮັບ​ຫຍັງ​.

ການປະກາດປະເພດເອກະສານສໍາລັບຮູບແບບສາມາດສະຫຼຸບໄດ້ໂດຍ:

<!ELEMENT proceduredef (ຊື່, namespace?, version?, ເຊື່ອງໄວ້?,
ລາຍເຊັນ+, ຊ່ວຍເຫຼືອ?, ລະຫັດ)>
<!ELEMENT methoddef (ຊື່, namespace?, version?, ເຊື່ອງໄວ້?,
ລາຍເຊັນ+, ຊ່ວຍເຫຼືອ?, ລະຫັດ)>
<!ELEMENT functiondef (ຊື່, namespace?, version?, ເຊື່ອງໄວ້?,
ລາຍເຊັນ+, ຊ່ວຍເຫຼືອ?, ລະຫັດ)>









ໄຟລ໌ "rpc-method.dtd" ທີ່ມາພ້ອມກັບການແຈກຢາຍມີບາງຄໍາເຫັນເພີ່ມເຕີມ
ກັບ​ສະ​ເພາະ​ຕົວ​ຈິງ​.

ໄຟລ໌ແມ່ນ (ສໍາລັບໃນປັດຈຸບັນ) ຈໍາກັດຫນຶ່ງຄໍານິຍາມ. ນີ້ແມ່ນເລີ່ມຕົ້ນໂດຍການເປີດຫນຶ່ງ
tags " ", " "ຫຼື" ". ນີ້ແມ່ນປະຕິບັດຕາມໂດຍແນ່ນອນຫນຶ່ງ
" " container ການລະບຸຊື່ວິທີການ, ສະແຕມສະບັບທາງເລືອກ, ເປັນທາງເລືອກ
ທຸງເຊື່ອງຈາກ introspection, ຫນຶ່ງຫຼືຫຼາຍ " "ຕູ້ຄອນເທນເນີທີ່ລະບຸລາຍເຊັນ,
ທາງ​ເລືອກ " " container with the help , then the " container with the
ລະຫັດໂຄງການຕົວຈິງ. ຂໍ້ຄວາມທັງໝົດຄວນໃຊ້ການເຂົ້າລະຫັດ entity ສໍາລັບສັນຍາລັກ:

& C<&> (ampersand)
E C<<> (ຫນ້ອຍກວ່າ)
E C<>> (ໃຫຍ່ກວ່າ)

ຂະບວນການວິເຄາະພາຍໃນຫ້ອງຮຽນເຊີບເວີຈະຖອດລະຫັດຫົວໜ່ວຍຕ່າງໆ. ເພື່ອເຮັດໃຫ້ສິ່ງຕ່າງໆ
ງ່າຍຂຶ້ນ, ເຄື່ອງມືຈະສະແກນອົງປະກອບຂໍ້ຄວາມທັງໝົດ ແລະເຂົ້າລະຫັດໜ່ວຍງານຂ້າງເທິງກ່ອນທີ່ຈະຂຽນ
ຍື່ນ.

ໄດ້ ຂໍ້ມູນ of ລະຫັດ
ນີ້ບໍ່ແມ່ນ "ການຂຽນໂປຼແກຼມ 101 ", ຫຼື​ບໍ່​ແມ່ນ​ "Perl ສໍາລັບການ ໄດ້ ບາງຢ່າງ ມືດມົວ". ລະຫັດທີ່ເປັນ
ສົ່ງຜ່ານໜຶ່ງໃນໄຟລ໌ "*.xpl" ຈະຖືກສົ່ງຜ່ານໄປຫາ "eval" ໂດຍບໍ່ມີການດັດແກ້
(ເບິ່ງຂ້າງລຸ່ມນີ້). ດັ່ງນັ້ນ, ລະຫັດທີ່ຂຽນບໍ່ດີ ຫຼືເປັນອັນຕະລາຍສາມາດສ້າງຄວາມເສຍຫາຍໃຫ້ກັບເຈົ້າໄດ້ເປັນຢ່າງດີ
ເຊີບເວີ. ນີ້ບໍ່ແມ່ນຄວາມຜິດຂອງລະຫັດເຊີບເວີ. ລາຄາຂອງຄວາມຍືດຫຍຸ່ນຂອງລະບົບນີ້
ຂໍ້ສະເຫນີແມ່ນຄວາມຮັບຜິດຊອບໃນສ່ວນຂອງຜູ້ພັດທະນາເພື່ອຮັບປະກັນວ່າລະຫັດແມ່ນ
ທົດສອບແລະປອດໄພ.

ລະຫັດຕົວມັນເອງຖືກປະຕິບັດເປັນ verbatim ທີ່ເປັນໄປໄດ້. ການແກ້ໄຂບາງອັນອາດຈະເກີດຂຶ້ນຢູ່ຂ້າງເຊີບເວີ,
ເນື່ອງຈາກວ່າມັນເຮັດໃຫ້ລະຫັດທີ່ເຫມາະສົມສໍາລັບການສ້າງ subroutine ທີ່ບໍ່ເປີດເຜີຍຊື່ຈາກ. ໄດ້ make_method
ເຄື່ອງມືຈະພະຍາຍາມໃຊ້ສ່ວນ "CDATA" ເພື່ອຝັງລະຫັດພາຍໃນເອກະສານ XML, ດັ່ງນັ້ນ
ວ່າບໍ່ຈໍາເປັນຕ້ອງເຂົ້າລະຫັດຫນ່ວຍງານຫຼືສິ່ງດັ່ງກ່າວ. ນີ້ອະນຸຍາດໃຫ້ສໍາລັບຜົນໄດ້ຮັບ *.xpl
ໄຟລ໌ທີ່ຈະເປັນ syntax-testable ກັບ "perl -cx". ທ່ານສາມາດຊ່ວຍໄດ້ໂດຍການຮັບປະກັນວ່າລະຫັດ
ບໍ່ມີທັງສອງລຳດັບຕົວອັກສອນຕໍ່ໄປນີ້:

]]>

__ຂໍ້ມູນ__

ທໍາອິດແມ່ນ "CDATA" terminator. ຖ້າມັນເກີດຂື້ນຕາມທໍາມະຊາດໃນລະຫັດ, ມັນຈະກະຕຸ້ນ
ສ່ວນທ້າຍຂອງພາກໃນຕົວວິເຄາະ. ອັນທີສອງແມ່ນ Perl token ທີ່ຄຸ້ນເຄີຍ, ເຊິ່ງຖືກໃສ່
ດັ່ງນັ້ນສ່ວນທີ່ເຫຼືອຂອງເອກະສານ XML ບໍ່ clutter ເຖິງ Perl parser.

ຕົວຢ່າງ


ໄດ້ RPC::XML ການແຈກຢາຍມາພ້ອມກັບວິທີການເລີ່ມຕົ້ນຈໍານວນຫນຶ່ງໃນ subdirectory ທີ່ເອີ້ນວ່າ
(cryptically ພຽງພໍ) "ວິທີການ". ແຕ່ລະອັນນີ້ສະແດງອອກເປັນຊຸດຂອງ ("*.base",
"*.code", "*.help") ໄຟລ໌. ໄຟລ໌ Makefile.PL ກຳນົດຄ່າ Makefile ດັ່ງກ່າວ
ສິ່ງເຫຼົ່ານີ້ຖືກໃຊ້ເພື່ອສ້າງໄຟລ໌ "*.xpl" ໂດຍໃຊ້ເຄື່ອງມືນີ້, ແລະຫຼັງຈາກນັ້ນຕິດຕັ້ງພວກມັນ.

ທິດສະດີວິທະຍາ


ບັນຫາສ່ວນໃຫຍ່ອອກມາໃນຮູບແບບຂອງຂໍ້ຄວາມຄວາມຜິດພາດທີ່ຕິດຕາມມາດ້ວຍການອອກທັນທີທັນໃດ.

ອອກ STATUS


ເຄື່ອງມືອອກດ້ວຍສະຖານະ 0 ເມື່ອປະສົບຄວາມສຳເລັດ, ແລະ 255 ຖ້າບໍ່ດັ່ງນັ້ນ.

ຂໍ້ຄວນລະວັງ


ຂ້ອຍບໍ່ມັກວິທີການນີ້ເພື່ອກໍານົດວິທີການ, ແຕ່ຂ້ອຍມັກແນວຄວາມຄິດອື່ນໆຂອງຂ້ອຍ
ຫນ້ອຍ.

ໃຊ້ make_methodp ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌