果实框架的结构非常简单。
FRAMWORK使用HMVC设计模板(层次模型 - 视频控制器)。
该框架的最高水平部分是输入点 - 引起应用程序启动的文件。实际上,它可以是Web服务器的index.php脚本,也可以是操作系统的可执行文件。在输入点,始终启动应用程序。
应用是有条件的概念。这些是控制数据输入和输出的类。分隔为应用程序可以使您的项目通用 - 它将能够从控制台下和浏览器下启动,而对于每种情况,您都可以编写单独的处理程序,但是所有这些都可以使用相同的库。
申请示例:
当输入点打开载体(包括 require)时,就有可能启动应用程序。
货物正在寻找正确的应用程序,然后执行相关说明。在Web应用程序的情况下,启动了路由器,该路由器确定所需的路径,如果应用程序是控制台,则启动了一个控制台应用程序的单个处理器。
该项目的所有类(除最低水平的果皮除外)都包含在框架的扩展,模块,钩子和脚本(以下简称系统类别)中。
首先,当您需要加载任何类时,货物者会用钩子检查目录。 Khuki的创建是为了重写细胞核和扩展的脚本。 Huki也可以用来编写应用程序本身。
其次,检查带有系统类的系统目录。这些课程是果实的亲戚,不建议使用其目录来触摸其目录,以避免兼容性问题并更新框架。如果要更改系统类,请使用钩子 - 创建具有相同名称的类-hook类,并且它将无法到达系统脚本。
最后,检查扩展名。这些是每个人都可以编写和发布的框架的添加。它们也可以用来编写应用程序本身。
扩展可以具有自己的模块(“扩展的扩展”)。如果扩展很大(例如,CMS)并提供修改,则创建模块。为了确定属于扩展的模块,只需将扩展名称添加到模块的名称(例如,Test_moodule将是扩展测试的模块)就足够了。如果将模块添加到不存在的扩展中,则不会加载它。
果物框架中的应用程序是一个低级别的系统,它决定数据处理程序并控制答案的输出。换句话说,这是一个接受数据,将其传输到处理器然后显示的系统。
在给定和接受的数据可能不同的情况下,需要将其分开为应用。如果您编写控制台应用程序,它将很简单 - 简单地接收和提供数据。但是,除了普通数据外,Web应用程序还报告了Cookie和头条新闻。
果实标准组件包含两种类型的应用程序 - 控制台和Web应用程序。
组合应用程序是通过命令行或SSH启动的应用程序,KP的唯一输入数据是参数。 Web应用程序是通过浏览器启动并接受GET POST数据,cookie,头条等的那些应用程序。给定数据也有所不同。
要启动您的项目,您需要执行两个步骤:1。连接框架2。运行应用程序
在创建Web应用程序时,标准组件被调整为方便。上述发射的两个步骤是在SO被称为的入口处执行的。对于Web应用程序,入口为index.php。该脚本接种了所有HTTP请求,连接框架并启动Web应用程序。
如果您想编写自己的应用程序类型,我们建议您将游戏机应用程序的脚本作为基础。另外,如果需要,您可以重新制定标准应用程序 - 重写Web应用程序路由器或为控制台编写。这不需要额外的知识,只需研究标准应用程序如何工作并写扩展或挂钩即可。
控制台应用程序是最简单的 - 在Web应用程序中,这里没有使用路由器和控制器。启动后的标准ConsoleApp应用程序正在寻找类 Handler Console并调用其中的Run()方法。如果没有这样的类,将发生关键错误
类 Fructum Config包含框架的必要配置。要更改它,您应该通过复制/hooks/fructum/config.php复制/system/fructum/config.php来创建自己的钩子,然后将内容更改为所需的内容。每个参数已记录
如果您的扩展名需要调整,请勿创建类 - 只需联系 Fructum config类的常数即可。添加有关安装扩展的说明中应将哪些数据添加到配置中的信息。
注意!配置中的数据是恒定的,而不是变量。使用成本控制。
所有详细信息均可提供给Vicki:http://wiki.blockstudio.net/wiki/fructum