2014-02-22 15:11 GMT-03:00 Giuseppe Luigi <[email protected]>: > Sorry for late reply, too busy :( > > What approach you follow to build your sites? Jtemplate? Use brook just as > restful server? > I use it according the project. In several projects, I use only GET/POST, JTemplate and HTML. But there are also projects that I use GET/POST/PUT/DELETE, RESTful and some JS library, such as JTable, for example.
> Im still just trying to figure on my mind how to "deploy" my idea to Brook > development. My web development skills are mainly based working over CMS > > Regards. > Some time ago, I have developed projects with CMS like Joomla and WordPress. Yes, it is practical, but they don't give me the same power to manipulate the content that will displayed on the screen. But I've thought about creating a CMS using Brook. ps. The Brook 3.0 is being released with new ideas of João Morais ( https://github.com/jcmoraisjr). It will be completely different from Brook 2.6.4. In the new Brook, you can receive objets instead JSONs, see a small comparison; form.html: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>Person</title> </head> <body> <form action="http://localhost/cgi-bin/cgi1.bf" method="post"> <input type="text" name="id" /> <input type="text" name="name" /> <input type="submit" /> </form> </body> </html> Brook 2.6.4: unit Unit1; {$mode objfpc}{$H+} interface uses BrookAction; type TMyAction = class(TBrookAction) public procedure Post; override; end; implementation procedure TMyAction.Post; begin // where's validation? Write('ID: %d, Name: %s', [Fields['id'].AsInt64, Fields['name'].AsString]); // where's reuse? // where's persistence? end; initialization TMyAction.Register('/person'); end. Brook 3.0: unit person; {$mode objfpc}{$H+} interface uses SysUtils; type EPerson = class(Exception); { TPerson } TPerson = class private FId: Int64; FName: string; public procedure Validate; procedure Save; published property Id: Int64 read FId write FId; property Name: string read FName write FName; end; implementation { TPerson } procedure TPerson.Validate; begin if Trim(FName) = '' then raise EPerson.Create('Name must not be empty.'); end; procedure TPerson.Save; begin // implement your persistence here, using a framework like dpof: https://github.com/silvioprog/dopf end; end. unit Unit1; {$mode objfpc}{$H+} interface uses BrookAction, person; type TMyAction = class(specialize TBrookEntityAction<TPerson>) public procedure Post; override; end; implementation procedure TMyAction.Post; begin Entity.Validate; // Yes, my own validation! Write('ID: %d, Name: %s', [Entity.Id, Entity.Name]); // Yes, I'm reusing my object! Entity.Save; // I love it, my validation using OPF (like https://github.com/jcmoraisjr/jcore or https://github.com/silvioprog/dopf) of DAO! end; initialization TMyAction.Register('/person'); end. -- Silvio Clécio My public projects - github.com/silvioprog
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
