Any Seaside or Struts-like frameworks available for PHP?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Thomas Gagne

    Any Seaside or Struts-like frameworks available for PHP?

    I've been reading a lot about Seaside <http://www.seaside.st/> lately
    and before that Struts <http://struts.apache.o rg/>.

    Is there a predominant framework for PHP that provides many (most,
    more?) of the features of either Seaside or Struts (or any other
    examples you may suggest)?
  • Hans-Peter Zahno

    #2
    Re: Any Seaside or Struts-like frameworks available for PHP?

    Thomas Gagne wrote:
    [color=blue]
    > I've been reading a lot about Seaside <http://www.seaside.st/> lately
    > and before that Struts <http://struts.apache.o rg/>.
    >
    > Is there a predominant framework for PHP that provides many (most,
    > more?) of the features of either Seaside or Struts (or any other
    > examples you may suggest)?[/color]

    For a struts implementation in PHP see 'Phrame',
    Download Phrame for free. Phrame is a web development platform for PHP based on the design of Jakarta Struts. Phrame provides your basic Model-View-Controller architecture, and also takes a step further adding standard components such as: HashMap, ArrayList, Stack, etc...


    Hans-Peter



    ------------ And now a word from our sponsor ------------------
    Do your users want the best web-email gateway? Don't let your
    customers drift off to free webmail services install your own
    web gateway!
    -- See http://netwinsite.com/sponsor/sponsor_webmail.htm ----

    Comment

    • ZeldorBlat

      #3
      Re: Any Seaside or Struts-like frameworks available for PHP?

      No.

      Comment

      • Peter Albertsson

        #4
        Re: Any Seaside or Struts-like frameworks available for PHP?

        "Thomas Gagne" <tgagne@wide-open-west.com> wrote in message
        news:tKmdnWXZpZ GNEaLfRVn-1g@wideopenwest .com...[color=blue]
        > I've been reading a lot about Seaside <http://www.seaside.st/> lately and
        > before that Struts <http://struts.apache.o rg/>.
        >
        > Is there a predominant framework for PHP that provides many (most, more?)
        > of the features of either Seaside or Struts (or any other examples you may
        > suggest)?[/color]

        Another one which I learned about today:



        php.MVC is a PHP port of Jakarta Struts.

        Best Regards,

        Peter Albertsson


        Comment

        • Thomas Gagne

          #5
          Re: Any Seaside or Struts-like frameworks available for PHP?

          Hans-Peter Zahno wrote:[color=blue]
          > Thomas Gagne wrote:
          >
          >[/color]
          <snip>[color=blue]
          >
          > For a struts implementation in PHP see 'Phrame',
          > http://phrame.sourceforge.net[/color]

          Are you using it? Have you compared it to other PHP frameworks like phpmvc?[color=blue]
          >
          > Hans-Peter
          >
          >
          >
          > ------------ And now a word from our sponsor ------------------
          > Do your users want the best web-email gateway? Don't let your
          > customers drift off to free webmail services install your own
          > web gateway!
          > -- See http://netwinsite.com/sponsor/sponsor_webmail.htm ----[/color]

          Comment

          • RainX

            #6
            Re: Any Seaside or Struts-like frameworks available for PHP?


            Thomas Gagne wrote:[color=blue]
            > I've been reading a lot about Seaside <http://www.seaside.st/> lately[/color]
            [color=blue]
            > and before that Struts <http://struts.apache.o rg/>.
            >
            > Is there a predominant framework for PHP that provides many (most,
            > more?) of the features of either Seaside or Struts (or any other
            > examples you may suggest)?[/color]

            Comment

            • Henk Verhoeven

              #7
              Re: Any Seaside or Struts-like frameworks available for PHP?

              Hey Thomas, doing Php too?

              I have recently been at a presentation from Avi Bryant about Seaside.
              IMHO Seaside is in many ways a conventional MVC Framework with page
              compostion. So is PhpPeanuts, but it also includes a persistency
              framework, and is further with the use of metadata, which sort of
              automates the development of user interface logic. Seaside still very
              much depends on the implementation of event handlers, this is on a lower
              level of abstraction, so there will be more details to take care of.
              Of course Seaside has the advantage a more powefull programming
              language: Smalltalk. As you know (but may not be very well known down
              here) Smalltalk has this great feature called 'blocks' whichs is
              particularly handy for wrinting event handlers. And for most dialects
              there are usable persistancy frameworks.

              PhpPeanuts runs on just php4 (though it's portable to php5) an MySQL,
              which is somewhat limiting, but has a much larger installed base on web
              servers ;-). And it has an upload, make 5 settings & go installation
              procudure (ever tried to install the horde framework ?)

              Interesting is the work in progess on unification with a real
              (not-webbased) GUI library, wich will make it possible to run the same
              code on a web based as well as on a Graphical UI. But this is not just
              Seaside, it's squeeq Smalltalk too. (So why is it that you don't stick
              to Smalltak? )

              But the most interesting feature of Seaside is the use of real
              continuations. This allows seaside applications to sort of ask a
              question to the user and have the code in a wait state until the user
              replies, then the code continues with the result from the user. It's
              very much like modal dialogs in a GUI environmnet. This can not be done
              as elegantly in php as it can in Smalltalk: Seaside implements its
              Continuations by storing a copy of the stack in memory (Smalltalk has
              not got the single request lifetime of objects, so you do not need to
              serialize things through the session). When it is time to continue, the
              answer is pushed on the stack and then the stack copy is reinstated with
              a task switch. As far is i know there are no multiprocessing and stack
              access functions in php.

              From a straigtforward point of view, there are only three ways to
              implement something like contintuations in php:

              1. Add the necessary functions to the engine (the VM, in Smalltalk
              terms) and recompile it. But i guess the result would not really be php
              any longer

              2. Express the control flow you want in objects. These objects
              essentially follow the command pattern, and execute other objects that
              represent other commands. This really is like executing a parse tree.
              PhpPanuts has something like this so that it can not only execute its
              navigational query objects against MySQL, but also directly in memory
              against a graph of objects. I will add some links below.

              3. Make some kind of precompiler that parses php like code and converts
              it to some php-executable form: php source code, or the objects as
              described in point 2.

              In a broader sense Continuations are not just a matter of having code
              wait for something non procedural to happen and then continue with the
              response. It is mostly used to 'return' the user to the context he was
              in before he started a specific task. The newest version of phpPeanuts
              (which is not yet available for download) has a solution for this that
              works by keeping track of all http requests as well as the recursive
              user contexts. I admit that this is not as elegant as the use of
              continuations, but it is much more lightweight (Seaside uses lots of
              memory because of all those processes it has to keep, which reference
              lots of objects that can not be garbage collected because of that), and
              fits better to the PhpPeanuts user interfacing style: no wizards that
              put the user in a procedural path, but letting the user choose freely
              every step he makes.

              PhpPeanuts is not trying to compete with other frameworks on the length
              of its features list. Therefore i did not study truts (and also not
              because the predecessors of PhpPeanuts are older then Stuts). The main
              design targets of PhpPeanuts are:
              - The simpelest thing that could possibly work to dynamicly create a
              complete user interface from objects and metadata
              - Flexibily and extensability. (If one can easily add a feature it does
              not need to be in the framework).

              Of course PhpPeanuts has its limitations, we have had three people
              working with it for about a year, so we did run into them for sure. If i
              have enough time i will refactor it this summer, i guess that would be
              the basis for version 2.0. But no promises, the design limitations are
              not that troublesome that i really must refactor, it's just that it
              would make it more flexible & elegant ;-).

              Greetings,

              Henk Verhoeven,
              www.phpPeanuts.org.


              References on Command Objects in phpPeanuts.

              The following is meant to illustrate the idea of command objects and how
              they can be combined. It is not meant to be a computationally complete
              composite command object model (like LinkMessage was in VSE) and there
              is no inplementation of a Continuation.

              Basic comand object: MethodInvocatio n


              Navigation over property, can be linked into navigational path:


              Navigation over an array of objects, returns an array


              Filtering objects from an array for which a condition applies:


              Logical expressions (And and or) for combination of filters




              Thomas Gagne wrote:[color=blue]
              > I've been reading a lot about Seaside <http://www.seaside.st/> lately
              > and before that Struts <http://struts.apache.o rg/>.
              >
              > Is there a predominant framework for PHP that provides many (most,
              > more?) of the features of either Seaside or Struts (or any other
              > examples you may suggest)?[/color]

              Comment

              • Ivo Jansch

                #8
                Re: Any Seaside or Struts-like frameworks available for PHP?

                Hi,
                [color=blue]
                > Is there a predominant framework for PHP that provides many (most,
                > more?) of the features of either Seaside or Struts (or any other
                > examples you may suggest)?[/color]

                You may also want to have a look at Achievo ATK
                (http://www.achievo.org/atk). It's not seaside, it's not struts, but
                it allows you to build applications with minimal coding ('an
                application in 10 lines of code' is the slogan). The demo application
                is well documented and explains the basics.

                Greetings,
                Ivo

                Comment

                Working...