harishanchu/Laravel-FTP

Fluent Interface?

chrischi1989 opened this issue · 2 comments

Can you provide a fluent interface like this?

FTP::connection('foo')->changeDir('bar')
                      ->makeDir('abc')
                      ->changeDir('abc')
                      ->uploadFile('foobar.txt', 'barfoo.txt')
                      ->getDirListing();

It's not a necessity but I think this would improve the ease of use.

Greetings from Germany
Christian

HI Christian,

Thanks for your suggestion, but there is a problem in implementing this. Since FTP methods won't result in success always, which will cause errors in the program when we implement an interface like this.
For example, in the case you have shown a number of methods will execute sequentially independent of whether the previous method execution is success or failure, which is not good.
Please let me know your thoughts.

Thanks

Hi there,

Just pressed the wrong button...o_O

One approach might be using the methods to build up a command stack and add a method for executing the stack. The FTP functions you're currently using return false or -1 if they fail and if they do so, you might utilize the MessageBag Class of Laravel instead of returning false.

Then you'll be able to provide more detailed error messages and the developers can check themselfs if the MessageBag is empty or not.

Greetings