Zope can be compared with Apache+PHP+MySQL because it is an http server, a database, and a scripting programming language. Now I recommend Zope to everyone because it has richer functions, is easier to build applications, and is several times more efficient than PHP. The current server-side programming environments include IIS+ASP+sqlserver, Apache+PHP+MySQL, and now Zope. Compared with Zope, Zope is more professional for document publishing.
I have used dw and frontpage to compile web pages, and I feel that frontpage’s navigation system is better, and it can generate graphical titles and various professional templates. dw's navigation system is almost unusable, but dw's web page production is more professional, and dw's templates also have their own unique features. I once thought about combining frontpage and dw, but it felt awkward. When there is a lot of information on the website, the most urgent need is to put the information into a database so that it can be easily managed uniformly. It is often surprising that large websites often have a unified appearance, rich navigation systems, and rich related links. There must be professional website management software and professional technical support behind the website. Therefore, I often look for website management systems that I can use. I discovered Zope on the linuxfab.cx website and finally found what I was looking for.
Whenever I recommend Zope to people, some people always say that I use PHP very well and don’t need to change, or that I use ASP very well. ASP and PHP are similar in that they can add scripting language to HTML. In comparison, I prefer ASP, which is based on VB. At the same time, because it has an independent script engine, it can also support Perl, Javascript and other scripts. In this way, everyone can program in the language they are familiar with instead of learning a new language. PHP is strange. It is very similar to Perl. Why not just use Perl to implement embedding in the page and invent a language to increase everyone's learning burden? Although PHP has a slightly clearer language, it has no fundamental Different, but the essence of Perl pattern matching is lost. Perl is also strange, why doesn't it launch the same functions as jsp? Therefore, I am psychologically disgusted with PHP, although its close integration with the database and its ability to generate images are better. Although Zope is excellent at website management, it is also a good programming environment. It supports Python and Perl. Python is currently developing very strongly and is good at compiling large programs. It is an object-oriented database with very rich syntax. It can replace C and JAVA in many aspects. The programming efficiency is much higher and very attractive. . After learning Python, I couldn't find any opportunity to use it. Zope just gave me the opportunity to use Python, and it also allowed me to experience the power of Python. ->The entire Zope program is written 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 extensive document management features.
Let’s first talk about the advantages of Zope as an http server:
Although Zope is a database, all its documents are placed in the database rather than in the file system, but It has completed a management interface similar to a 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. An object-oriented database is very different from a general database. It is not based on tables like a relational database, but has a tree structure like a file system. From the perspective of the object, each field value recorded is each attribute of the object. What makes it beyond relational databases is that it can adapt to various data types. Each data type is an object, with not only various attributes, but also various methods for operating specific data types. I often hear about object databases, but I only came into contact with them through Zope. (The products of ingresql and userland are also object databases)
Zope is characterized by treating files and folders as basic objects. Each file and folder can add attributes at will. At the same time, the files under the folder and Folders are in turn properties of the parent folder. By adding script files, you can add methods to files and folders. For example, a file can be added with attributes such as "author", "category", and "difficulty level", and a folder can also be added with a method of "displaying the contents of all files in this folder".
Zope also has its unique method to implement object-level inheritance. This method is "get". For example, the structure of the file system is /a/b/c, and c is a file. If you want to reference a variable v in c, if there is no v in the attributes of c, look for it in the attributes of b, and then check if there is one under b. Call the file v, then look for the attributes of a, then look for the files in a, then look for the attributes of the / directory, and then look for the files under the root. If v is an attribute of b, there is no need to specifically reference it with a.b.v. In this way, the c file will inherit a rich variable environment from folders at all levels. A typical example is that if the file standard_HTML_header is placed in the root directory, it can be referenced in files in any directory to express the common things of each web page. If you need your own unique web page effect in a certain directory, just put a unique standard_HTML_header in this directory. In this way, the files in this directory will get the header in this directory instead of the header in the root directory, thus realizing the personality of each column.
The obtained form can also be: c.m, m can be a method, that is, a script file. For example, use m to make c have another form of expression. The m file can be placed in the b folder or the a folder. The expression method of c.m is valid. In this way, I put m in the root directory, and all files on the website have method m.
Using URL can also support this kind of acquisition, such as using