Advantages of Zope compared with ApachePHPMySQL

Source: Internet
Author: User
Tags apache php
Zope can be compared with ApachePHPMySQL because it is an http server, a database, and a scripting language. We recommend Zope because it has more functions and is easier to build applications, which is several times more efficient than PHP. The current server-side programming environments include IISASPsqlserver, ApachePHPMySQL, and Zope. compared with Zope

Zope can be compared with Apache PHP MySQL because it is an http server, a database, and a scripting language. We recommend Zope because it has more functions and is easier to build applications, which is several times more efficient than PHP. The current server programming environment includes iis asp sqlserver, Apache PHP MySQL, and Zope. Zope is more professional in document publishing than Zope.

I have used dw and frontpage to compile webpages. I feel that the frontpage navigation system is better, and it can generate graphical titles and various specialized templates. Dw's navigation system is almost useless, but dw's webpage creation is more professional, and dw templates also have their own unique features. I used to think about combining frontpage and dw, but it feels awkward. When the most urgent requirement for the website is to put the materials into the database, it is easy to manage them in a unified manner. It is often strange that large websites often have a uniform appearance, rich navigation systems, and rich links. There must be professional website management software and professional technical support behind the website. Therefore, I often look for available website management systems. I found Zope on the linuxfab. cx website and finally found what I wanted.

Whenever Zope is recommended to people, some people always say that I use PHP very well and don't need to change it, or that I use ASP very well. ASP is similar to PHP. you can add a scripting language to HTML. In comparison, I like ASP, which is based on vb. It also supports scripts such as Perl and Javascript because it has an independent script engine. In this way, you can program in a language you are familiar with instead of learning a new language. PHP is strange. it is similar to Perl. why don't we simply use Perl to implement page embedding? we need to invent a language to increase the learning burden, although PHP is a little clear about the language, it is not fundamentally different, but it discards the essence of Perl pattern matching. Perl is also quite strange. why isn't it the same feature as jsp? Therefore, PHP is psychologically annoying, although it is closely integrated with databases and has better functions for generating images. Although Zope is excellent in website management, it is also a good programming environment. It supports Python and Perl. Python is currently gaining momentum and is good at compiling large programs. it is an object-oriented database with rich syntax and can replace c and JAVA in many aspects, programming efficiency is much higher and attractive. After I finished learning Python, I couldn't find a chance to use it. Zope just gave me the opportunity to use Python and gave me the strength of Python. -> The entire Zope program is compiled in Python!

Zope is an object-oriented database, a document management database, a powerful http server, and a complete development environment. In essence and starting point, Zope is a document management database. It has a large number of document management functions.

Let's talk about the advantages of Zope as an http server:

Although Zope is a database, all its documents are stored in the database rather than in the file system, it completes a management interface similar to the file manager and an ftp interface, it can be used as a familiar file system, and the management habits are very familiar.

Zope is an object-oriented database. the object-oriented database is very different from the general database. it is not as table-based as a relational database, but as a file system, it is a tree structure. From the object perspective, each field value of the record is each attribute of the object. Beyond relational databases, DRDs can adapt to various data types. each data type is an object that not only has various attributes, but also has various methods to operate on specific data types. I often hear that the object database has access to the object database through Zope. (Ingresql and userland products are also object databases)

Zope uses files and folders as basic objects. each file and folder can add attributes at will. at the same time, the files and folders under the folder are the attributes of the parent folder. You can add methods to files and folders by adding script files. For example, you can add attributes such as "author", "Category", and "difficulty level" to a file, or add "display all file content in this folder" to a folder.

Zope also has its unique method to realize object-level inheritance. This method is "get ". For example, the file system structure is/a/B/c, and c is a file. if you want to reference a variable v in c, if the attribute of c does not contain v, find the attribute of B, find whether there is a file named v under B, find the attribute of a, find the file in a, and then find the attribute of the/directory, find the file under the root. If v is a property of B, a. B. v is not used for reference. In this way, the c file will inherit rich variable environments from folders at all levels. A typical example is that if the file standard_HTML_header is placed in the root directory, you can reference it in any directory to show what is common to each web page. If you need a unique webpage effect under a directory, you only need to place a unique standard_HTML_header in this directory. In this way, the files under this directory will obtain the headers under this directory, rather than the headers under the root directory, thus realizing the individuality of each column.

The format can also be: c. m, m can be a method, that is, a script file. for example, m is used to make c have another form. M files can be stored in the B folder, or in the folder. the expression of c. m is true. In this way, I put m under the root directory, and all the files on the website have m methods.

You can also use URLs to obtain such information. for example, you can use http://my.com/a/ B /c/mto call javasm. Similarly, the variable environment of m is/a/B/c.

Summary: Zope, as an http server, provides a wealth of additional information such as attributes and methods for files and folders on the server. It facilitates file search, management, and performance operations. It also provides convenient file operations.

Zope's disadvantage is that it cannot directly use external files, but it also needs to be copied to the database through ftp. There are remedies for this, but they are not the default of Zope. In the future, Zope is expected to operate on external files and files on other websites like its own objects.

Zope's advantages as a database:

From the above discussion, we have a rough impression on the performance of Zope as a database. Compared with other databases, Zope is an object-oriented document database.

Unlike MySQL, Zope has a visual management interface. all Zope management work is done through the web. The advantage of web interfaces is that they are cross-platform and can be operated remotely to facilitate interface customization. The Zope management interface is similar to a file manager. after you click a file, you can use the same web interface to edit and add properties and manage security. Zope script debugging is also completed on the web.

As a database, Zope has powerful user permission management functions. It provides powerful user and permission management capabilities and allows you to add users in a folder, they also have their own security permission management for specific objects.

The main data in the database on the website is documents. as a document database, Zope provides powerful document management functions, version management and history functions, and full-text retrieval functions. At the same time, it integrates the editing and management environments of documents, which is as convenient as managing documents in the file manager. These are not available in general databases.

If the database contains tens of thousands of records, Zope will be less efficient than traditional databases, but Zope has a large number of adapters to connect to various databases. To implement table-only operations and a large number of record operations.

Zope's advantages as a programming and custom environment:

Zope has a dtml (Dynamic Template tag) language to embed it into HTML for dynamic web pages. You can insert dynamic content in a simple form. As attributes and methods and the "get" function can be easily added, the document has a rich set of variable environments. It can provide more powerful functions than General clients. In other forms, you can easily obtain the content of multiple files. You can also embed Python expressions in dtml. In this way, you do not need to program to have a powerful dynamic web page function, and the navigation function is also easy to implement. These functions are much easier to implement than PHP and other languages.

If you want to add complex functions, you can use the script module to implement functions and complex operations, and then call the script module in dtml, thus realizing the separation of logic and performance. In Zope, you can allow Python, Perl, and SQL as script languages, and various scripts can be called from each other. This enables multi-language hybrid programming and. NET hybrid programming. Zope provides a unified Zope API for the scripting language. In this way (using dtml as the media), Perl can also embed HTML in unix. Perl fans are blessed. Here, you can directly use SQL to operate the database, saving the trouble of embedding SQL into other languages.

Zope puts forward the concept of zclass, bundling a series of attributes and methods for specific purposes of data in a product, and even editing and viewing interfaces, specific permissions, and help. For example, you can use a task as a zclass. a task has attributes such as the task sender, task executor, task start time, completion time, and task content, you can also create and complete a task. In this way, a letter is sent to the executor when the method is called and to the sender when the method is called. At the same time, you must have a web editing interface for the task to issue and modify the permission definitions for the task. When such a zclass is created, you can add a task instance to any folder. Zope first checks whether the user has the permission to create a new task, then, the edit interface of the call up task is filled with various properties of the task, and the "create" and "finish" buttons are also provided to call the method. Zclass allows you to easily add new features to Zope. This concept of product is a function not available in PHP and other languages. with product, Zope can provide a complex function with clear ideas.

At the same time, in product implementation, Zope API can be called not only, but also various modules of Zope can be called directly to implement more complex functions. Because Zope is implemented in both open-source and Python, you can refer to the source code of Zope at any time to easily call Zope modules and functions and even modify Zope code when programming difficulties are encountered, these are also not available in other programming environments.

Zope's user management, version management, and other functions are also implemented through the product. Therefore, Zope has a standard and open development environment.

I have just read an article recently. it uses the relationship between dos and windows to compare Apache and Zope. all the things in Apache should be done by myself. if not, we also need to collect a lot of different programs to complete our tasks, and each person's choice is different. in this way, there is no common language between them, just like compiling dos programs, first, you need to capture some graphics programs, print programs, sound programs, installation programs, and so on. In Zope, there are many Unified APIs. when you complete a product, the user management, permission management, management interface, editing interface, and so on are all provided by Zope, and APIs are available, you don't have to worry about it yourself. For example, like zwiki, Zope is almost useless. Zope itself is a collaborative product that comes with user management and version management, so you don't have to waste time starting from scratch. There is a good saying in the article: "The worst unified programming interface is better than not ". To cmf, Zope provides extremely rich APIs.

Finally, if you are not satisfied with Zope, you can use cmf (content management framework, Zope's second-level development platform) to create and manage websites and develop new functions. Cmf greatly extends Zope's user management, document management, and product to achieve higher-end functions. You need to write another article to describe the functions of cmf.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.