理解诺亚分类信息
如果您想直接开始,请跳转到“源代码”。
首先:这是一项开放的工作,如果您发现任何关于术语或概念的问题,您都可以为此做出贡献。您也可以自由地说明您对实际书籍结构、目标或其他概念事物的任何偏好或愿景,请参阅此维基教科书讨论区。 其次:我不是母语人士。如果您重视语法,请随时更正我的句子。如果这本书是用我的语言写的,你会犯很多错误,我会更正。我希望在写这本书的时候,通过与许多人合作来提高我的英语水平。
(请用答案替换以下问题)
什么是“诺亚分类信息”?它是计算机、算法、特定软件应用程序、编程语言、支持代码库、小鱼还是什么?
人们如何使用“诺亚分类信息”?它仅仅是作为帮助程序员学习 OOP 的一个玩具示例的学习工具吗?如果我不是程序员,我可以使用它做些什么有用的事情吗?
在使用“诺亚分类信息”之前,我需要具备哪些先决条件?我是否需要在我的计算机上安装 PHP 才能使用它?我可以在我的 MacOS、Windows 或 Linux 计算机上使用它 吗?它可以在我的没有连接显示器的服务器上运行吗?它可以在我的 没有互联网连接的笔记本电脑上运行 吗?
目前谁维护着“诺亚分类信息”?
按感知重要性顺序排列;
用户帐户存储在这里。
分类列表在这个数据库中。
首页上显示的部分在此处枚举。
页面的各种管理设置保存在这些数据库中。
其他表格保存其他类型的控制交叉引用、cron 作业、电子邮件通知、搜索和 RSS 功能等信息。大多数这些信息都可以通过网站的管理员部分轻松控制。要手动创建新的管理员帐户,请将 n_user 表中任何现有用户的 isAdm 设置为 1。
连接到数据库的页面都位于 gorum 目录中,分别是:/gorum/dbinstall.php、/gorum/dbproperty.php 和 /gorum/installlib.php。此外,/feedcreator/feedcreator.class.php 对数据库进行查询,/app/ 和 /gorum/ 文件夹中的许多文件包含对 /gorum/dbproperty.php 定义的 executeQuery 函数的调用。
如果此变量被设置(取消对 constants.php 中的相关行进行注释以执行此操作),诺亚将使用一个不寻常的模板。模板仅影响诺亚分类信息软件的外观和样式。该文件必须存储在诺亚的根目录中,并且需要在后缀前面加一个数字(例如 template4.php)。此索引作为我们的变量 $otherTemplate 声明给系统。
(诺亚在加载 include.php 时会包含模板文件,无论它是否是默认模板 - 第 24 行。)
config.php 仅包含数据库的参数。该文件的第二个任务是构造 $dbHost 字符串,这取决于是否给出了端口。
item.php 在 include.php 中起作用。首先,如果变量 $immediateAppear 尚未设置,则脚本将其设置为“true”。如果需要或目前不需要(我猜它总是需要的),则变量 item_typ 将在该脚本的开头构建。
任何与数据库通信的都派生自对象类。项目(广告)、类别、用户,甚至全局设置。从这个类开始,因为它的大多数函数从未被重载。
此文件包含在 index.php 中,并且自身包含另一组文件。
include("./gorum/constants.php"); if( $registrationType!=User_noUserFromGorum ) include("./gorum/loginlib.php"); include("./gorum/gorumlib.php"); include("./gorum/object.php"); include("./gorum/form.php"); include("./gorum/generformlib.php"); include("./gorum/roll.php"); include("./gorum/dbproperty.php"); include("./gorum/privilegeproperty.php"); include("./gorum/htmllist.php"); include("./gorum/tools.php"); include("./gorum/showdetails.php");
此外,它似乎区分了用户类型,并加载 user_simple.php 或在另一种情况下加载 user_email.php。
这包含了 roll 类。Roll 只是处理链接生成的类。它很好,因为它添加了内存功能。
不同寻常的是,这个 Web 应用程序完全面向对象。如前所述,Noah 使用类,实际上很多。例如,广告本身就被永久地视为一个对象。这很有用,但需要适应。
最重要的一个类叫做“对象”。这是我接下来要介绍的父类。