此文件结构适用于 True 框架。

安装: 40

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

语言:HTML

v1.1.20 2024-05-23 23:31 UTC

README

True 框架文件结构 - 新项目

True Framework

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 进行网站开发。