
Most recently, a new version of this framework numbered
0.6.2 has been released . It took more than 4 months to develop, but despite the lack of radical changes, many useful features were added to the framework, which mainly affected the work with Ajax.
If you are already familiar with
Seagull , I strongly advise you to familiarize yourself with the new version at
www.seagullproject.org/publisher/articleview/action/view/frmArticleID/80And if not, I will conduct a small review of this powerful, but weakly promoted framework.
')
The first question a web developer will ask is:
“why do I need
another framework” ?
The answer is very simple: the framework can be called anything, and not all frameworks are interchangeable, and therefore for each goal it is better to use a suitable platform. And if you ask my opinion, the Seagull PHP Framework is the best platform for developing complex websites.
Probably, I will not dwell on the technical specifications, I will not again say that this framework implements the MVC pattern, has a modular architecture, etc. These and many other elements are typical of other frameworks, if you are interested in them -
www.seagullproject.orgI, better tell about the advantages that Segal gives during development. The first thing that should interest the web developer is the huge number of modules that are included in the package to Segal. In addition to basic
User Management ,
Navigation includes
Blocks and
Publisher modules. The latter is a fairly powerful CMS, built on the basis of the framework. By the way, CMS is not the only one here, an alternative module has just appeared, and as far as I know, another one is planned.
In addition to these basic modules, they include:
Blog - Serendipity blog integrated into the system
Export - export and import data in RSS format
Faq - create a simple list of questions and answers
FirstPage - generation of a convenient starting page with an arbitrary arrangement of blocks
other…
You might be surprised that I started the description of the framework a little at the wrong end. But, I want to focus your attention on the already available functionality. On the one hand, you do not need to write basic modules on a bare core; on the other hand, you do not need to rewrite someone else’s product for yourself. By the way, for all modules of the system there is a Russian translation.
Let's go further. The next feature of Seagal, is that the developers are absolutely not going to rewrite all known PHP libraries in their core. They did it easier and included the
PEAR package in the kernel. Segal's base libraries extend PEAR classes by combining them into one core. For example,
Object Relational Mapping is implemented via PEAR_DataObjects, and as you might guess, PEAR_DB is responsible for accessing databases. Also, I use CacheLite, Translation2, Pager, Config and others. I would also like to note that the main template engine is PEAR's Flexy. Which is a little faster, but little different in syntax from Smarty.
I am very pleased that all the settings of these and other libraries are implemented through the web interface of the admin panel. You can edit configuration files, change the translation, add modules, edit settings, and all through the admin area. I especially note the possibility of creating a data model through the admin panel. Seagull automatically generates PEAR_DataObjects based on the available tables in the database. And all this with one click in the admin panel.
It is convenient to work with Seagal, of course it is impossible not to note the greatness of the architecture, and it is not strange if the whole PEAR is included in the composition. But the convenient organization of the code, and the huge amount of examples available based on the written modules, makes it possible to write efficient and readable code. To write your own module, you can use the module generator, or convert one of the basic modules.
Here, I would write here some kind of advertising line, once again convincing you that Sigal is cool and convenient, but since I'm not a developer, I will not do this. I'd rather say a few words of criticism, and write out his shortcomings in a thesis.
1. low profile of the project. And at the same time, there is a rather low activity in the community and ignoring the project in the media.
2. Some bulkiness of the project. A huge number of files and libraries explained by the fact that "all inclusive".
3. There are no advantages in developing Ajax applications. Segal's package includes support for Prototype and Scriptaculus, there are convenient examples of how to use them. But Seagal himself does not implement any methods to simplify Ajax development.
And so, the project is in any case interesting and worthwhile. By its capabilities, it bypasses all other PHP frameworks, and is not inferior to them in any way.