Updated Seagull PHP Framework


    Most recently, a new version of this framework with the number 0.6.2 was released . It took more than 4 months to develop, but despite the lack of fundamental changes, many useful features were added to the framework, which mainly related to working 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/80

    And if not, I will conduct a short review of this powerful, but slightly untwisted framework.



    The first question a web developer will ask is: “why do I need another framework” ?

    The answer is very simple: anything can be called a framework, and not all frameworks are interchangeable, and therefore it is better to use a suitable platform for each goal. And if you ask my opinion, then the Seagull PHP Framework is the best platform for developing complex websites.

    Probably, I will not dwell on 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.org

    I I’d better tell you about the advantages that Segal gives when developing. The first thing that should interest the web developer is the huge number of modules that are included in the package in Segal. In addition to basicUser Management , Navigation includes Blocks and Publisher . The latter is a fairly powerful CMS, built on the basis of the framework. By the way, there is not one CMS here, an alternative module has recently appeared, and as far as I know, another one is planned.

    In addition to these basic modules, it includes:
    Blog - an integrated blog Serendipity
    Export - export and import data in RSS
    Faq - create a simple list of questions and answers
    FirstPage - generate a convenient start page with an arbitrary arrangement of blocks
    and others ...

    You will probably be surprised that I started the description of the framework a little from 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 developers are not going to rewrite all the well-known PHP libraries in their core. They made it easier and included the PEAR package in the kernel. Seagal's core libraries extend the PEAR classes by combining them in one core. For example, Object Relational Mappingimplemented by PEAR_DataObjects, and as you might guess, PEAR_DB is responsible for accessing databases. Also, the libraries CacheLite, Translation2, Pager, Config and others are used. I would also like to note that the main template engine is PEAR's Flexy. Which is a little faster, but not much 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 panel. I especially note the possibility of creating a data model through the admin panel. Seagull automatically generates PEAR_DataObjects based on existing tables in the database. And all this with a single click in the admin panel.

    It’s convenient to work with Seagal, of course, one cannot fail to note the bulkiness of the architecture, and it’s not strange if the entire PEAR is included. But the convenient organization of the code, and the huge number of available examples based on the written modules, makes it possible to write efficient and readable code. To write your module, you can use the module generator, or redo one of the basic modules.

    Here, I would write some kind of advertising line here, once again convincing you that Segal is cool and convenient, but since I'm not a developer, I won’t do it. I’d better say a few words of criticism, and thesis will write down his flaws.

    1. low fame of the project. And at the same time, rather low activity in the community and ignoring the project in the media.
    2. Some cumbersomeness of the project. A huge number of files and libraries are explained by the fact that "all inclusive".
    3. There are no advantages in developing Ajax applications. Seagal's package includes support for Prototype and Scriptaculus, there are convenient examples for their use. But Segal himself does not implement any methods to simplify Ajax development.

    And so, the project is in any case interesting and worthwhile. According to its capabilities, it bypasses all other PHP frameworks, and is not inferior to them in anything.

    Also popular now: