after working as a Zend Framework consultant for a while, I can say that the biggest problem I faced is how easy it is to get it very wrong. From my experience, it's very common to people who have been doing PHP at some layer for a long time. It's usually one big pile of spaghetti code somewhere inside application folder.
Why it happens? Again, from my point of view - because people start using frameworks without good knowledge about MVC, patterns and how in general good code should look like. Even though it takes only a few days to get them doing it in a proper way, it's still very surprising. For example, I myself started using zend framework after a very long time reading about it (even now I follow >50 blogs somehow related to zf) and trying all sorts of different things in my own implementation of a framework :) But after this trials and errors time I truly believe that I understand how framework actually works, not just how to use it's classes.
That's one of the problems I have seen before and keep seeing it all the time - people learn framework as a bunch of classes, not how it works and how it might be used in any context. The problem I see, people need to start using IDE - not because it's X, but if I have a problem I just click a Ctrl+Click function name and see how it works internally. A lot of times people just seems to be working with frameworks (not only zend) as a dll file (even though dll files can have documentation) - source code is hidden, no idea what it's doing, try until it works. Hello! Zend framework code is just a bunch of php files, open them and read :)
Why I started using zend framework and why I think it is the best (for me) - it's extraordinary tool for a custom system. Yes, you can build blog in 15 min in any framework (maybe longer with zend?), but that's not the point. During last years I was building big, truly enterprise level applications. Admin module and public module just don't work here - I need to divide my code in to actual modules (products, warehouse, pricing, orders, etc.) and in them encapsulate their behavior + different functionality for admin/public/supplier etc. That's where Zend framework kicks in - few plugins, helpers and off you go.
In conclusion, Zend framework is complex. And it should be. Sorry, but it's just impossible to have beginners friendly and experts friendly framework :) Starting from a fact, that I don't want zend framework to imply anything how I should use it, but beginners probably would and ending with decorators, plugins, helpers etc. which are wonderful for me, but black-box for some. So, the final though - learn the framework, not it's classes and you be fine to use any framework.
Regards,
Juozas Kaziukenas
On Thu, Sep 17, 2009 at 8:40 AM, huajun qi <qihjun@gmail.com> wrote:
Thanks all you guys, it takes long time to read this list of mails. But after that, i am sure that I choose the right framework, at least i can get lots of answers when i meet some problems.When it comes to ZF, it is good enough too.I am not a stupid programmer, and i think i can learn to master it. Your sharing helps a lot.
2009/9/17 huajun qi <qihjun@gmail.com>Good advice, I will try to use zf as comfortable as i can.2009/9/16 Nikolaos Dimopoulos <nikos@niden.net><0.02>
ZF (or any framework) can be extremely intimidating even to competent programmers that English is not their native tongue. I have lived in English speaking countries for the best part of 15 years and still I cannot translate in my native language the difference between a decorator, a validator and other terms used in the framework. Don't even try to get me started on plugins :)
I believe that the best approach for a novice (which I am one) is to use ZF as a glue component. Don't try to dive into the MVC just yet. Code your application the way you usually do and glue ZF components to it. Once you are comfortable with those components your transition to the full MVC architecture will be much easier than any previous attempts.
Finally be curious and ask questions. By far the ZF lists are the most helpful that I have ever seen. There is no RTFM here and people are extremely helpful even if the question appears to be a dumb one or has been answered a million times.
</0.02>
Best regards
Nikolaos Dimopoulos
The contents of this message may contain confidential or privileged information and is intended solely for the recipient(s). Use or distribution to and by any other party is not authorized. If you are not the intended recipient, copying, distribution or use of the contents of this information is prohibited.
On Wed, Sep 16, 2009 at 10:26, Duo Zheng <duozheng@gmail.com> wrote:I proposed the improvement a few days ago here: http://framework.zend.com/issues/browse/ZF-7839Especially the chapter about Zend_Test should be clearer, how to setup a
testing enviroment with Zend_Application.
On Sep 16, 2009, at 10:14 AM, Andreas Kraftl wrote:
Am Mittwoch, den 16.09.2009, 08:26 -0400 schrieb Matthew Weier
O'Phinney:
On that note, my team and I have begun an initiative to provide a more
tutorial oriented section to the manual.
I love this idea. But another idea is, to extend the manual with two
small things.
Every class where it make sense, should describe how to interact with
Zend_Application and how to initialize it in the bootstrap. Second is,
to describe some unittests.
Especially the chapter about Zend_Test should be clearer, how to setup a
testing enviroment with Zend_Application.
Or more better, Zend_Tool can do this.
The main problem this time is, that Zend_Application is a very good and
in the meantime a central point of the Framework. But the documentation
covers all before Zend Framework 1.8.
If i am right, I think the manual should be written more in the
direction Zend_Application.
Last point: whenever you say a programmer should know how to create
things ...
A programmer knows better, how to delete things than a not programmer
knows how to add things.
I am not sure, if Zend Framework would be a framework for week
programmers or beginners. But if so, then change direction of thought
how to write the manual.
Thanks and greetings
Andreas
--
Kraftl EDV - Dienstleistungen
Linux, Linuxschulungen, Webprogrammierung
Autofabrikstraße 16/6
1230 Wien
--
Location:
--
Location:
没有评论:
发表评论