kenjiefx/scratch-php
Composer 安装命令:
composer require kenjiefx/scratch-php
包简介
Simple, lightweight, and endlessly extendable static site generator.
README 文档
README
A simple, lightweight, and endlessly extendable static site generator, providing easy and maintainable way to build static websites, leveraging the power and flexibility of PHP’s templating engine.
No Parsers, No Hassle — ScratchPHP takes advantage of PHP itself being a templating engine. This library relies on simple APIs which are PHP functions themselves, reducing dependencies and eliminating unnecessary overhead. This approach keeps ScratchPHP lightweight while still providing the flexibility and power needed to build dynamic static content efficiently.
Getting Started
The simplest way to get started with Scratch PHP is to create a project using Scratch Skeleton by running this command in Composer:
composer create-project kenjiefx/scratch-skeleton <app name>
Everything you need to get started is included in the skeleton repository. It comes with a built-in development server, allowing you to preview your site instantly—no need to manually run the build command during development. Run the command below to start the development server.
php -S 127.0.0.1:7743 server.php
To build and export your static site, run the command below:
php bin/scratch build
To learn more about ScratchPHP, please see the documentations page.
Application Life Cycle
ScratchPHP begins with the instantiation of Kenjiefx\ScratchPHP\App(), which detects the runtime context—either CLI or HTTP—and instantiates the appropriate app runner interface. Depending on the context, the CLI runner handles terminal commands, while the HTTP runner manages web requests, both adhering to a common interface with environment-specific implementations.
Before reaching the service layer, extensions are registered once per execution cycle by the Extension Manager. Early in the lifecycle, service providers are delegated based on the specific CLI command or HTTP route. Finally, the Build Service orchestrates the build process and hands off the export of static pages and assets to an export provider.
Extensibility
ScratchPHP provides a flexible way to extend the build process through Extensions. Extensions let you modify HTML, JavaScript, and CSS before they’re exported—ideal for tasks like minifying assets, injecting custom HTML, generating boilerplate code, and more.
<?php namespace App; use Kenjiefx\ScratchPHP\App\Events\ListensTo; use Kenjiefx\ScratchPHP\App\Events\PageBuildStartedEvent; use Kenjiefx\ScratchPHP\App\Extensions\ExtensionsInterface; class MyExtension implements ExtensionsInterface { #[ListensTo(PageBuildStartedEvent::class)] public function doSomethingWhenPageBuildStarts(PageBuildStartedEvent $event) { // Please see all the fields you can retrieve from this event in the documentation } }
Documentation
To learn more about ScratchPHP, please see the documentations page.
Contributing
Please see CONTRIBUTING.md.
kenjiefx/scratch-php 适用场景与选型建议
kenjiefx/scratch-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 99 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 03 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 kenjiefx/scratch-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kenjiefx/scratch-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 99
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 13
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-25