ysugimoto / flame
CodeIgniter4 的前端集成库
Requires
- php: ^8.0
Requires (Dev)
- codeigniter/coding-standard: 1.7.*
- codeigniter/phpstan-codeigniter: ^1.3
- codeigniter4/framework: >=4.0.0
- friendsofphp/php-cs-fixer: ^3.62
- mockery/mockery: ^1.6
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.11
- phpstan/phpstan-strict-rules: ^1.6
- phpunit/phpunit: ^9.6
README
flame
是 CodeIgniter4 的前端集成库。
与 vite 前端协作
此库通过 flame-vite-plugin 加载由 vite
生成的清单文件。您可以使用辅助函数指定加载资产文件,如 <script>
和 <link>
。
有关生成清单文件的说明,请参阅 flame-vite-plugin 文档。
安装
您可以通过 packagist 进行安装。
composer require --dev ysugimto/flame
然后运行 CodeIgniter 的命令。
php spark flame:setup
上述命令在您的 app/Config/Flame.php
中生成了包配置。您还需要加载 flame
辅助函数。修改自动加载器的配置。
# app/Config/Autoload.php class Autoload extends AutoloadConfig { ... public $helpers = ["flame"]; ... }
用法
注意
您需要先生成清单文件。
设置完成后,您可以在视图文件中使用 flame
辅助函数。
<?php echo flame("[Asset Filename]");?>
我们建议将此辅助函数调用放在 <head>
标签内或 </body>
标签之前。
预加载
为了提高脚本/样式加载性能,您可以配置 preload。要启用预加载,您还可以使用 flame_preload
辅助函数。
<?php echo flame_preload("[Asset Filename]");?>
此函数显示 <link rel="preload" ... />
标签,因此需要在 <head>
标签内调用。
别名
在开发后端时,您可能不会考虑视图文件应该加载哪些资产文件。然后您可以将资产名称指定为别名,例如
<?php echo flame("@main");?>
在上面的例子中,@main
别名将在清单文件中解析,因此您无需关心资产文件名。要使用别名加载,请参阅 vite 插件的 别名 部分。
DevServer / HMR
vite
可以运行带有 HMR 的开发服务器,而 flame
也可以与其同步。例如,vite
命令将启动开发服务器,如 https://:5173
,同时 flame-vite-plugin
以 开发模式 生成清单文件。flame
辅助函数会自动识别清单是开发模式还是不是,并生成带有 HMR 模式的 <script>
标签。这对于使用 CodeIgniter 开发前端视图非常有用。当您更改前端文件时,CodeIgniter 显示的视图将自动重新加载。
清单加载
目前我们支持通过以下方式加载清单文件:
- 本地文件系统
- HTTP 请求
默认设置是 本地文件系统
,但有时您的前端将通过像 AWS S3
、Google Cloud Storage
这样的云存储服务提供某些单页应用程序。
在这种情况下,您可以通过更改配置文件使用 HTTP 请求
清单加载。
// app/Config/Flame.php class Flame extends FlameConfig { ... public FetchMode $mode = FetchMode::HTTP; public string $baseUrl = "https://[yourdomain]/"; ... }
有关详细信息,请参阅配置文件中的 phpdocs。
贡献
- 分叉此存储库
- 自定义/修复问题
- 发送 PR :-)
- 或者,您可以自由为我们创建问题。我们会查看的。
作者
Yoshiaki Sugimoto sugimoto@wnotes.net
许可
MIT