Laravel-FTP icon indicating copy to clipboard operation
Laravel-FTP copied to clipboard

Fluent Interface?

Open chrischi1989 opened this issue 10 years ago • 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

chrischi1989 avatar Jan 06 '15 09:01 chrischi1989

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

harishanchu avatar Jan 07 '15 07:01 harishanchu

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

chrischi1989 avatar Jan 07 '15 17:01 chrischi1989