Proposal for "PEAR2_Net_RouterOS"

» Metadata » Status
» Description

A client for MikroTik's RouterOS API.

RouterOS is the flag product of the company MikroTik and is a powerful router software. One of its many abilities is to allow control over it via an API. This package provides a client for that API, in turn allowing the use of PHP to control RouterOS hosts.

The API specification can be seen in RouterOS' wiki at

Package source (SVN):

» Dependencies » Links
  • PHP >= 5.3.0
  • PCRE
  • iconv (optional)
» Timeline » Changelog
  • First Draft: 2011-09-04
  • Proposal: 2011-09-04
  • Call for Votes: 2011-09-17
  • Voting Extended: 2011-09-25
  • Vasil Rangelov
    [2011-09-06 00:47 UTC]

    • [Inspired by feedback directed at other packages...] Made all setters (with the exception of setStreamResponses()) fluent, as well as a few of the Client class' methods that previously returned null.
    • Made length verification use static:: instead of self::, allowing its override in hypothetical Communicator extensions.
    • Some minor documentation fixed and source code reordering.
  • Vasil Rangelov
    [2011-09-10 21:43 UTC]

    • Added the ability to convert between charsets on-the-fly using the new get/setCharset() and get/setDefaultCharset() methods (particularly useful for making output appear consistent between MikroTik's Winbox and the web). iconv is now an optional dependency because of this.
    • All "array of responses" are now a ResponseCollection, with this class offering some convenience methods for filtering the responses (e.g. by type). Implements SPL interfaces to mimic an array.
    • Added and altered a lot of the test suite, since it often assumed an array. Also made it comply with PEAR coding standards (minus doc blocks).
    • Other miscellaneous changes.
  • Vasil Rangelov
    [2011-09-17 18:57 UTC]

    • For the sake of performance, made receiving of streams use the (currently undocumented BTW) convert.iconv.* filter instead of the custom function, and reworked Transmitter accordingly.
    • Fixed the package.xml tasks.
    • Made the ResponseCollection seekable.
    • Minor doc fixes.