定制 kenjiefx/scratch-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 kenjiefx/scratch-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 99
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 13
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-03-25