Loading ...
Sorry, an error occurred while loading the content.
 

Good PHP OOP apps/classes to study?

Expand Messages
  • coo_t2
    Hey all. I m new to the list. Anyways, I think I m a decent php programmer, but haven t done much OOP. I ve done a few classes, but for all I know the design
    Message 1 of 10 , Nov 4, 2002
      Hey all. I'm new to the list.
      Anyways, I think I'm a decent php programmer, but haven't done
      much OOP. I've done a few classes, but for all I know the design
      of those classes may really suck.
      I was wondering if you guys knew of any good classes or object
      oriented
      applications in php that would be good to study to learn how
      to do good OOP design and to learn good OOP practices with
      php in general.

      Also if they're are any good books, or resources on the web on the
      subject
      I'd appreciate your suggestions. I've read the few OOP articles on
      phpbuilder.com
      by the way.


      tia,
      --ed
    • Demian Turner
      I ve attempted to compile a list of OOP related articles at PHPkitchen http://www.phpkitchen.com/index.php?topic=phpOO hth, Demian ... [Non-text portions of
      Message 2 of 10 , Nov 4, 2002
        I've attempted to compile a list of OOP related articles at PHPkitchen

        http://www.phpkitchen.com/index.php?topic=phpOO

        hth,

        Demian

        coo_t2 wrote:

        > Hey all. I'm new to the list.
        > Anyways, I think I'm a decent php programmer, but haven't done
        > much OOP. I've done a few classes, but for all I know the design
        > of those classes may really suck.
        > I was wondering if you guys knew of any good classes or object
        > oriented
        > applications in php that would be good to study to learn how
        > to do good OOP design and to learn good OOP practices with
        > php in general.
        >
        > Also if they're are any good books, or resources on the web on the
        > subject
        > I'd appreciate your suggestions. I've read the few OOP articles on
        > phpbuilder.com
        > by the way.
        >
        >
        > tia,
        > --ed
        >
        >
        >
        >
        > Yahoo! Groups Sponsor
        > ADVERTISEMENT
        > <http://rd.yahoo.com/M=237459.2482214.3917349.2146399/D=egroupweb/S=1705006764:HM/A=1267611/R=0/*http://ad.doubleclick.net/jump/N2524.Yahoo/B1071650;sz=300x250;ord=1036465706239021?>
        >
        >
        >
        > Look here for Free PHP Classes of objects:
        > http://phpclasses.UpperDesign.com/
        > To unsubscribe from this group, send an email to:
        > php-objects-unsubscribe@egroups.com
        >
        >
        >
        > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
        > <http://docs.yahoo.com/info/terms/>.




        [Non-text portions of this message have been removed]
      • Markus Wolff
        ... Have a look at http://www.aditus.nu/jpgraph/, it is a quite well designed OOP package with excellent documentation. You´ll also find an arcticle about the
        Message 3 of 10 , Nov 4, 2002
          Am Tue, 05 Nov 2002 00:21:11 -0000 schrieb "coo_t2" <coo_t2@...>:

          > Hey all. I'm new to the list.
          > Anyways, I think I'm a decent php programmer, but haven't done
          > much OOP. I've done a few classes, but for all I know the design
          > of those classes may really suck.
          > I was wondering if you guys knew of any good classes or object
          > oriented
          > applications in php that would be good to study to learn how
          > to do good OOP design and to learn good OOP practices with
          > php in general.

          Have a look at http://www.aditus.nu/jpgraph/, it is a quite well
          designed OOP package with excellent documentation. You´ll also find an
          arcticle about the pitfalls of OOP design in PHP on this site.

          Another good package that uses OOP is HTML_OOH_Forms in PEAR, currently
          available via cvs only (http://cvs.php.net/). There´s some documentation,
          but in German only and a little outdated (http://www.ulf-wendel.de/).

          You might also want to have a look at Binarycloud, which is a huge OOP
          framework for creating enterprise-level applications in PHP. It still
          lacks a lot of documentation and has been in a state of "we´ll be ready
          for a first official release in a month or two" for the past two years
          now (g), but it´s definitely worth a look if you want examples for good
          OOP design in PHP. Oh, yes, the URL: http://www.binarycloud.com/

          Regards,
          Markus

          --
          *21st Media* | Consulting, Konzeption, Produktion für die Bereiche:
          Markus Wolff | Internet, Intranet, eCommerce, Content Management,
          Hamburg,Germany | Softwareentwicklung, 3D-Animation, Videostreaming
          http://21st.de | Tel. [+49](0)40/6887949-0, Fax: [+49](0)40/6887949-1
        • João Dias
          Hi, Markus and PHP List. OOP is not a specific PHP issue. It s a wide field of modern practices relating software development (or software engineering). PHP
          Message 4 of 10 , Nov 5, 2002
            Hi, Markus and PHP List.

            OOP is not a specific PHP issue.
            It's a wide field of modern practices relating software development
            (or software engineering).

            PHP currently has some limitations (though not severe) in supporting OOP.
            However, if you follow some rules, you can even pretend that a "sort of"
            full support exists.

            I think that it is more important to shape our minds for
            a good OOP view of the problems, and corresponding solutions, than actually
            worrying about specific implementation.

            If one is able to do a good OOP analisys and design, it really
            doesn't matter if you code your design in C++, Java or PHP.
            That is only relevant in terms of your final purpose and environment
            restrictions, intended time-to-market, team size, available tools,
            and the like.

            If you are interested in improving your skills in OOP, or are a
            novice in OOP, try R.S.Pressman's site http://www.rspa.com/

            They have a lot of resources, and also links concerning OOP topics
            and Software Engineering practices in general.

            There is also a very good book (my opinion) in Software Eng. and OOP,
            wich I recommend to anyone interested: see
            http://mcgraw-hill.co.uk/textbooks/pressman/index.html

            If in your way through this matters you get addicted
            to something known by UML - as I have got :) - , and want to make your own
            diagrams try
            ArgoUML that is a Java application free for WIN and Linux.




            -----Mensagem original-----
            De: Markus Wolff [mailto:wolff@...]
            Enviada: terça-feira, 5 de Novembro de 2002 7:23
            Para: php-objects@yahoogroups.com
            Assunto: Re: [php-objects] Good PHP OOP apps/classes to study?


            Am Tue, 05 Nov 2002 00:21:11 -0000 schrieb "coo_t2" <coo_t2@...>:

            > Hey all. I'm new to the list.
            > Anyways, I think I'm a decent php programmer, but haven't done
            > much OOP. I've done a few classes, but for all I know the design
            > of those classes may really suck.
            > I was wondering if you guys knew of any good classes or object
            > oriented
            > applications in php that would be good to study to learn how
            > to do good OOP design and to learn good OOP practices with
            > php in general.

            Have a look at http://www.aditus.nu/jpgraph/, it is a quite well
            designed OOP package with excellent documentation. You´ll also find an
            arcticle about the pitfalls of OOP design in PHP on this site.

            Another good package that uses OOP is HTML_OOH_Forms in PEAR, currently
            available via cvs only (http://cvs.php.net/). There´s some documentation,
            but in German only and a little outdated (http://www.ulf-wendel.de/).

            You might also want to have a look at Binarycloud, which is a huge OOP
            framework for creating enterprise-level applications in PHP. It still
            lacks a lot of documentation and has been in a state of "we´ll be ready
            for a first official release in a month or two" for the past two years
            now (g), but it´s definitely worth a look if you want examples for good
            OOP design in PHP. Oh, yes, the URL: http://www.binarycloud.com/

            Regards,
            Markus

            --
            *21st Media* | Consulting, Konzeption, Produktion für die Bereiche:
            Markus Wolff | Internet, Intranet, eCommerce, Content Management,
            Hamburg,Germany | Softwareentwicklung, 3D-Animation, Videostreaming
            http://21st.de | Tel. [+49](0)40/6887949-0, Fax: [+49](0)40/6887949-1



            Look here for Free PHP Classes of objects:
            http://phpclasses.UpperDesign.com/
            To unsubscribe from this group, send an email to:
            php-objects-unsubscribe@egroups.com



            Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
          • coo_t2
            Yes, I am interested in understanding the philosophy of designing OOP applications, not just how PHP implements it, because I know I ll probably be doing OOP
            Message 5 of 10 , Nov 5, 2002
              Yes, I am interested in understanding the philosophy of designing OOP
              applications, not just how PHP implements it, because I know I'll
              probably be doing OOP with other languages in the future like Python,
              C++, maybe Java.

              Btw, I downloaded jpgraph and am also checking out the links at
              http://www.phpkitchen.com/index.php?topic=phpOO&page=1 .. I've
              already read 1 or 2 articles that were helpful.
              I'll check out www.rspa.com as suggested below as well.

              thanks all,
              --ed


              --- In php-objects@y..., João Dias <jota.dias@c...> wrote:
              > Hi, Markus and PHP List.
              >
              > OOP is not a specific PHP issue.
              > It's a wide field of modern practices relating software development
              > (or software engineering).
              >
              > PHP currently has some limitations (though not severe) in
              supporting OOP.
              > However, if you follow some rules, you can even pretend that
              a "sort of"
              > full support exists.
              >
              > I think that it is more important to shape our minds for
              > a good OOP view of the problems, and corresponding solutions, than
              actually
              > worrying about specific implementation.
              >
              > If one is able to do a good OOP analisys and design, it really
              > doesn't matter if you code your design in C++, Java or PHP.
              > That is only relevant in terms of your final purpose and environment
              > restrictions, intended time-to-market, team size, available tools,
              > and the like.
              >
              > If you are interested in improving your skills in OOP, or are a
              > novice in OOP, try R.S.Pressman's site http://www.rspa.com/
              >
              > They have a lot of resources, and also links concerning OOP topics
              > and Software Engineering practices in general.
              >
              > There is also a very good book (my opinion) in Software Eng. and
              OOP,
              > wich I recommend to anyone interested: see
              > http://mcgraw-hill.co.uk/textbooks/pressman/index.html
              >
              > If in your way through this matters you get addicted
              > to something known by UML - as I have got :) - , and want to make
              your own
              > diagrams try
              > ArgoUML that is a Java application free for WIN and Linux.
              >
              >
              >
              >
              > -----Mensagem original-----
              > De: Markus Wolff [mailto:wolff@2...]
              > Enviada: terça-feira, 5 de Novembro de 2002 7:23
              > Para: php-objects@y...
              > Assunto: Re: [php-objects] Good PHP OOP apps/classes to study?
              >
              >
              > Am Tue, 05 Nov 2002 00:21:11 -0000 schrieb "coo_t2" <coo_t2@y...>:
              >
              > > Hey all. I'm new to the list.
              > > Anyways, I think I'm a decent php programmer, but haven't done
              > > much OOP. I've done a few classes, but for all I know the design
              > > of those classes may really suck.
              > > I was wondering if you guys knew of any good classes or object
              > > oriented
              > > applications in php that would be good to study to learn how
              > > to do good OOP design and to learn good OOP practices with
              > > php in general.
              >
              > Have a look at http://www.aditus.nu/jpgraph/, it is a quite well
              > designed OOP package with excellent documentation. You´ll also find
              an
              > arcticle about the pitfalls of OOP design in PHP on this site.
              >
              > Another good package that uses OOP is HTML_OOH_Forms in PEAR,
              currently
              > available via cvs only (http://cvs.php.net/). There´s some
              documentation,
              > but in German only and a little outdated (http://www.ulf-
              wendel.de/).
              >
              > You might also want to have a look at Binarycloud, which is a huge
              OOP
              > framework for creating enterprise-level applications in PHP. It
              still
              > lacks a lot of documentation and has been in a state of "we´ll be
              ready
              > for a first official release in a month or two" for the past two
              years
              > now (g), but it´s definitely worth a look if you want examples for
              good
              > OOP design in PHP. Oh, yes, the URL: http://www.binarycloud.com/
              >
              > Regards,
              > Markus
              >
              > --
              > *21st Media* | Consulting, Konzeption, Produktion für die
              Bereiche:
              > Markus Wolff | Internet, Intranet, eCommerce, Content Management,
              > Hamburg,Germany | Softwareentwicklung, 3D-Animation, Videostreaming
              > http://21st.de | Tel. [+49](0)40/6887949-0, Fax: [+49](0)
              40/6887949-1
              >
              >
              >
              > Look here for Free PHP Classes of objects:
              > http://phpclasses.UpperDesign.com/
              > To unsubscribe from this group, send an email to:
              > php-objects-unsubscribe@e...
              >
              >
              >
              > Your use of Yahoo! Groups is subject to
              http://docs.yahoo.com/info/terms/
            • sqldreamer
              ... your own ... Hi, that s an interesting aspect. I read a little about UML and things like class diagramms seems to be useful to get an overview but I didn t
              Message 6 of 10 , Nov 6, 2002
                > If in your way through this matters you get addicted
                > to something known by UML - as I have got :) - , and want to make
                your own
                > diagrams try
                > ArgoUML that is a Java application free for WIN and Linux.
                >

                Hi,

                that's an interesting aspect. I read a little about UML and things
                like class diagramms seems to be useful to get an overview but I
                didn't get into that 'use case' stuff. All examples in tutorials are
                ok, but I really want to know whether advanced PHP/UML-programmers
                are working with that diagramms (in real projects) or is that more an
                academic exercise?

                - SG
              • Urb LeJeune
                ... As others have said, the concepts are important, not the language. I used to teach OOP at the college level. What s interesting is that new programmers
                Message 7 of 10 , Nov 7, 2002
                  >Yes, I am interested in understanding the philosophy of designing OOP
                  >applications, not just how PHP implements it, because I know I'll
                  >probably be doing OOP with other languages in the future like Python,
                  >C++, maybe Java.

                  As others have said, the concepts are important, not the language.

                  I used to teach OOP at the college level. What's interesting is that
                  new programmers catch on very quickly and experience procedural
                  programmers have a had time adjusting.

                  OOP is actually not about programming but rather about thinking.
                  Think of how things are the same, not how things are different. If you have
                  defined a circle object you have methods (functions) to calculate the
                  property (variable) circumference given the radius. You also have a method
                  to calculate the area. No suppose you want a sphere object. The insight
                  is to recognize that is sphere is a three dimensional circle. So you
                  extend the circle class. What is same? The method for calculating
                  the circumference is still the same but the method for calculating
                  the area is different. The extension of the circle simply redefines the
                  method to calculate the area.

                  Let's look at another practical example. You have an application
                  that searches a list and displays the output. However, if the result set
                  is over ten you want to display the results in groups of ten and provide
                  the navigation to display the remainder of the results. Another
                  important brick in the though process is to look at a problem and
                  say "how can I solve this for a class of problems rather than just this
                  specific problem."

                  Let's create a class with two methods, GetSearchResults() and
                  DisplayOneRow(). What do all database queries have in common.
                  Something like:
                  SELECT * FROM TableName
                  WHERE Series of where-clauses
                  LIMIT StartCount, SizeCount.

                  If we pass GetSearchResult() the select statement (without the
                  limit clause, start-count and size count, We have generalized the
                  method.

                  process inside will be something like:

                  while($OneRow = mysql_fetch_array($Result)) {

                  }

                  Within the while loop we have to deal with the associative
                  arry generated with the mysql_fetch_array() function. It will be
                  different for every table we want to process. So we call
                  DispalyOneLine() This method deal with the query for this
                  specific table.

                  When we need search processing functionality in the futures
                  we need only start a query, determine how may items to diaplay,
                  start it at the desired point, and redefine the functions
                  DisplayOneLine() to deal with displaying the request for the new
                  table. It might be something like:

                  function DispalyOneLine(&$OutputDisplay,$OneRow) {
                  extract($OneRow); # Transform array into named variables.
                  $OutputDisplay .= "<P>$Title .....";
                  }

                  and it's all done.

                  Urb
                • João Dias
                  Hi, No I don t think it to be an academic exercise. I m working in a real PHP project (private school management software) in wich I will apply all those OOP
                  Message 8 of 10 , Nov 8, 2002
                    Hi,

                    No I don't think it to be an academic exercise.
                    I'm working in a real PHP project (private school management
                    software) in wich I will apply all those OOP ideas
                    that I think will improve the final product quality.
                    It is also my first OOP project, so perhaps I'm a little biased
                    with excitment :)

                    But usually I like to stay on middle-ground.

                    If you are working in web development, probably you have to
                    deal with tight schedules, so it won't be so worthing to spend
                    lots of time doing analysis and design in something that will change in one
                    year or two.
                    I think that extensive use of this techniques tend to put you away
                    from Rapid Develop (RAD) paradigm.

                    Trying to achieve a compromise between RAD and OOP can be of some use.

                    For instance, use-cases can give you a good help in achieving
                    a better user interface, with less features missing, and more
                    aspects totally covered from the begining.

                    In my case, I'm converting a jeopardized app written - by me, :/
                    - in VB. It became a little "working monster" because of size and
                    poor design (what design ?, after 15 days of design and more than
                    one year of coding work - there's no design at all; you should have about
                    80% of analysis & design and about 20% of coding time!).

                    Now I am writing the app from the begining in PHP.

                    My goal is to reduce final bugs to 1/10 of the original app,
                    and to achieve a complete network project in one third of the time,
                    but maintaining the original features, and ensuring that final product will
                    be flexible and of ease maintainance (so I should be careful with design).

                    Because of the goal about reducing develop. time I will shortcut
                    my way in some aspects of OOP theory and UML, but if I were using
                    Java, (and I hope that will happen in about a year), I certainly
                    follow those guidelines very carefully.
                    I have read a lot about that, and they are well-proven good practices
                    in software development. Why questioning what others have worked so hard to
                    prove ?

                    Note also that tools like ArgoUML are also CASE tools, and their
                    availability can improve your speed in writing code, by generating
                    the skeleton code for your designs (more true when the language
                    syntax is more complex; so more true for Java than for PHP).

                    Have fun
                    João Dias



                    -----Mensagem original-----
                    De: sqldreamer [mailto:SGenschow@...]
                    Enviada: quarta-feira, 6 de Novembro de 2002 16:15
                    Para: php-objects@yahoogroups.com
                    Assunto: [php-objects] Re: Good PHP OOP apps/classes to study?

                    Hi,

                    that's an interesting aspect. I read a little about UML and things
                    like class diagramms seems to be useful to get an overview but I
                    didn't get into that 'use case' stuff. All examples in tutorials are
                    ok, but I really want to know whether advanced PHP/UML-programmers
                    are working with that diagramms (in real projects) or is that more an
                    academic exercise?

                    - SG



                    Look here for Free PHP Classes of objects:
                    http://phpclasses.UpperDesign.com/
                    To unsubscribe from this group, send an email to:
                    php-objects-unsubscribe@egroups.com



                    Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
                  • Stan E. Rambin
                    Hi, Perhaps the best way to think about design vs RAD, is to remember that often code written for short projects get recycled into larger, more complex
                    Message 9 of 10 , Nov 8, 2002
                      Hi,
                      Perhaps the best way to think about design vs RAD, is to remember
                      that often code written for short projects get recycled into larger, more
                      complex projects over time. For example, most of use have written
                      authorization log-in scripts for many small projects.
                      Now if our large project is composed of such small, well tested
                      scripts, design is more a matter organizing the these scripts into a
                      coherent whole. You can use something as simple as 3 X 5 file cards with
                      information on each snippet of code to help the process. If, on the
                      other hand, a great deal of code will be new or if most of the snippets
                      will under go substantial changes, then at least 30% of the project
                      should be design/define allocated. Whether you use functions as 'mass
                      includes' or organize your project into true classes, clearly defined
                      logical processes are less time consuming than finding the needles in the
                      haystack of rambling code.
                      You'll be glad you took the time, five years from now, when you
                      resell a bunch of that 'good' code at market rate and all you have to do
                      is paste it together.

                      Stan Rambin
                      LaData Software Development
                      http://ladatahost.com
                      Quality hosting - $4.95 / Month

                      On Fri, 8 Nov 2002 22:13:49 -0000 =?iso-8859-1?B?Sm/jbyBEaWFz?=
                      <jota.dias@...> writes:
                      > Hi,
                      >
                      > No I don't think it to be an academic exercise.
                      > I'm working in a real PHP project (private school management
                      > software) in wich I will apply all those OOP ideas
                      > -----Mensagem original-----
                      > De: sqldreamer [mailto:SGenschow@...]
                      > Enviada: quarta-feira, 6 de Novembro de 2002 16:15
                      > Para: php-objects@yahoogroups.com
                      > Assunto: [php-objects] Re: Good PHP OOP apps/classes to study?
                      >
                      > Hi,
                      >
                      > that's an interesting aspect. I read a little about UML and things
                      > like class diagramms seems to be useful to get an overview but I
                      > didn't get into that 'use case' stuff. All examples in tutorials are
                      > ok, but I really want to know whether advanced PHP/UML-programmers
                      > are working with that diagramms (in real projects) or is that more
                      > an academic exercise?...
                      >
                      > - SG
                      >
                      >
                      >
                      > Look here for Free PHP Classes of objects:
                      > http://phpclasses.UpperDesign.com/
                      > To unsubscribe from this group, send an email to:
                      > php-objects-unsubscribe@egroups.com
                      >
                      >
                      >
                      > Your use of Yahoo! Groups is subject to
                      > http://docs.yahoo.com/info/terms/
                      >
                      >
                      >
                      >
                      > ------------------------ Yahoo! Groups Sponsor
                      >
                      > Look here for Free PHP Classes of objects:
                      > http://phpclasses.UpperDesign.com/
                      > To unsubscribe from this group, send an email to:
                      > php-objects-unsubscribe@egroups.com
                      >
                      >
                      >
                      > Your use of Yahoo! Groups is subject to
                      > http://docs.yahoo.com/info/terms/
                      >
                      >
                      >
                      >

                      ________________________________________________________________
                      Sign Up for Juno Platinum Internet Access Today
                      Only $9.95 per month!
                      Visit www.juno.com
                    • sqldreamer
                      Hi, it was just an impression of me. Maybe because most workshop/tutorials dealing with classes don t use UML diagramms very intensive. Nevertheless I found a
                      Message 10 of 10 , Nov 10, 2002
                        Hi,
                        it was just an impression of me. Maybe because most
                        workshop/tutorials dealing with classes don't use UML diagramms very
                        intensive.
                        Nevertheless I found a very interesting exception from a german
                        multimedia agency; they wrote an article about very sophisticated
                        form-classes they developed in PHP and they used all that UML-stuff
                        and it seems to be very straight and logic.

                        Source: (all in german language, sorry, but that is the only example
                        I know)
                        "Objektmodell zur Realisierung komplexer Formularabläufe" by
                        Kral/Vieth in: PHP IM EINSATZ, Geschke, Schotte (Hrsg): das Buch zur
                        International PHP Conference 2001


                        > If you are working in web development, probably you have to
                        > deal with tight schedules, so it won't be so worthing to spend
                        > lots of time doing analysis and design in something that will
                        change in one year or two.
                        > Because of the goal about reducing develop.....

                        The annoying part of webdevelopment is it's cyclical behaviour: some
                        weeks full of work others being lazy. But that's nothing that could
                        be influenced by UML, esp when the deadline is near there will not be
                        much design. (Maybe the goal can be simpler: just eliminating that
                        cyclical bahaviour, not the absolut amount of developing time?)


                        > Note also that tools like ArgoUML are also CASE tools, and their
                        > availability can improve your speed in writing code, by generating
                        > the skeleton code for your designs (more true when the language
                        > syntax is more complex; so more true for Java than for PHP).

                        I played with ArguUML a bit and the diagram part works fine: all
                        types of diagramms and I like that ToDoItem idea that helps avoiding
                        mistakes.

                        - SG
                      Your message has been successfully submitted and would be delivered to recipients shortly.