truecastdesign / truefw
此文件结构适用于 True 框架。
Requires
README
True 框架文件结构 - 新项目
v1.1.18
此文件结构由位于 [GitHub 仓库 True] 的 True 框架使用:https://github.com/truecastdesign/true
需要 PHP 5.5 或更高版本。
安装
使用 composer 安装新项目
$ composer create-project truecastdesign/truefw project-name
用法
使用可用的文件夹结构在 app 文件夹中构建您的网站。
app 文件夹应位于 public 文件夹旁边。如图片、css、js、pdfs 等资产应位于 public 文件夹内的 assets 文件夹中。
模型
业务逻辑应位于 app/models 目录中。
它们的命名空间应为 App。
使用 \App\ClassName(); 访问
视图
视图位于 app/views 目录中。
最高级别的视图将自动通过默认路由访问。例如,使用 http://www.domain.com 将访问 index.phtml 文件。类似 http://www.domain.com/about 的 URL 将访问 app/views/about.phtml 文件。要创建 /about 的子页面,在 views 内创建一个与文件名相同但不含 .phtml 后缀的目录。
http://www.domain.com/about -> about.phtml
http://www.domain.com/about/staff -> about/staff.phtml
页面视图文件中的元数据位于 phtml 文件的顶部。
title="Title of the page for the title tag" description="The meta description content." {endmeta}
示例文档: http://platesphp.com/v3/simple-example/
{endmeta} 字符串是元数据的结束和 HTML 及 PHP 的开始的分隔符。元数据使用 config.ini 文件格式规则。
title 键映射到布局中的 $_metaTitle。
description 键映射到 $_metaDescription。
css 键文件将与其他 css 文件合并、压缩,并在 $_css 变量中输出。它看起来像这样:css="/assets/css/file.css, /assets/css/file2.css"。
js 键用于在页面中包含 JavaScript 文件。它们将被合并、压缩并在 $_js 变量中输出。它们的格式与 css 文件类似。
_layouts 目录是 base.phtml 文件所在的位置,它包含一个文件中的头部和尾部。在用 PHP 处理后,视图内容将被插入其中。
_partials 目录用于存储可以在多个页面上使用的页面部分。您可以使用 {partial:filename.phtml} 字符串包含它们。
控制器
页面控制器不是必需的,但如果需要更多功能,则可以在此处访问模型并将它们传递给视图。使用具有唯一键和值的 $vars 数组将变量传递给视图。例如:$vars['info'] = '信息详情。';
控制器文件名应与视图文件名匹配,但使用 .php 扩展名而不是 .phtml 扩展名。
为子页面和子子页面创建与视图相同的文件夹结构。您还可以在此处存储 API 或其他网站功能的控制器。您可能希望将它们放在以下划线开头的文件夹中,并直接在 routes.php 文件中包含它。
路由
app/routes.php 文件用于存储所有网站路由。App 类具有 get、post、put、patch、delete、options 以及任何可用方法。这些方法将与传入的请求方法匹配。'any' 方法将匹配所有方法。
$App->get('/api/person/:value', function($request) use ($App) { $vars = []; # if the code is short you can put it in here and if too long include a controller here and put your code in the controller file. $App->view->render('_api/person.phtml', $vars); });
请确保将路由从最具体到最一般排序。一旦路由匹配请求,下面的所有路由将不会进行检查或运行。处理页面的主路由应该始终是最后一个,因为它匹配所有请求。
初始化
init.php 文件用于所有引导代码。它在每个请求上运行,所以尽量保持其最小化。
这一行
$App->view = new \True\PhpView();
是用于使用 PHP 视图方法。如果您想使用像 Twig 这样的模板系统,您可以在这里更改它,并使用您喜欢的任何工具。
全局函数
p(array|object)
快速打印数组或对象
pr(array|object)
预格式化打印数组或对象
pMethods(class object)
打印出类中方法列表。适用于探索 API。
currency(string|int)
返回格式化为美国货币的数字
esc(string|int|float, type)
使用比内置 PHP 函数更短的语法轻松转义各种类型的数据。您可以传递的类型:字符串(默认)、电子邮件、编码、浮点数、整数、URL。
问题
在本地主机上运行时,使用 Chrome 登录管理区域的 cookie 不会设置。它们需要一个域名。请使用 Firefox 或 Safari 进行网站开发。