chigix/chiji

PHP前端集成解决方案

1.0.6 2015-04-23 06:20 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:49:18 UTC


README

Chiji是一个PHP组件,提供最佳的前端集成解决方案。

入门指南

Chiji基础包是一个PHP库,虽然它是为JAVA Web、PHP MVC框架、单页应用等所有前端项目场景设计的。

最初,这个基础包只是一个工具集,包括项目、注解、SourceRoad类,帮助用户在WEB项目中重新组织前端资源。当然,还需要一个自定义的PHP脚本作为主入口来启动资产分发的任务。

总之,所有用户(无论UED工程师还是此包的贡献者)都需要PHP知识,不过,我们还提供了一些桥接包,以适应常见的框架或场景,例如为Symfony用户提供的Chiji-Bundle

要轻松一些,安装是最简单的。所有东西(包括桥接包)都可以通过Composer安装,Composer只是一个没有PHP细节的Linux命令行工具。进入下一节(安装)的唯一技术要求是在你的Composer上安装PHP 5.4或更高版本。如果你使用WAMP、XAMP或MAMP等包装的PHP解决方案,请检查它们是否为PHP5.4或更高版本。你还可以在终端或命令控制台中执行以下命令来显示安装的PHP版本

$ php --version

安装Chiji-Frontend

全局上,官方Chiji-Frontend Circle中的所有内容都应该提交到Packagist,因此你可以直接使用Composer来完成安装任务

$ composer require chigix/chiji:~1.0.0

如果你使用某些流行的框架或需要其他桥接包,你可以从对应的项目中查看详细信息。

主要观点

在Chiji解决方案中,前端项目可以围绕资源,以三个部分来解决

  1. 资源定位
  2. 资源关系
  3. 资源发布

每个资产文件(css、js、脚本、图片)都被视为一个位于一个项目中的资源。然后项目将尝试找到目标资产文件,并通过SourceRoad注册为映射资源对象,SourceRoad负责资产预构建和发布流程。

注解是用于资源之间需求关系的主要工具。更自由地说,可以实现自定义注解来覆盖更多资源操作需求和场景。

对于用户来说,设计资源操作流程和发布计划是主要任务,也许你可以看看Symfony Chiji-bundle桥接仓库。

基本API使用

本节简要介绍了Chiji基础包的PHP API。

<?php
// /path/to/conf-file.php

class ConfigFile extends \Chigi\Chiji\Project\ProjectConfig {
    public function getProjectName() {
        return "AppName";
    }
}

return new ConfigFile();
?>

首先,需要创建前端项目的配置文件,并定义源道路。默认情况下,可以使用\Chigi\Chiji\Project\ProjectConfig抽象类作为启动套件直接使用。

require_once '/path/to/vendor/autoload.php'

$project = new \Chigi\Chiji\Project\Project("/path/to/conf-file.php");
\Chigi\Chiji\Util\ProjectUtil::registerProject($project);
foreach ($project->getReleaseDirs() as $dir) {
    // ... Clean and init release directories.
}
foreach ($project->getSourceDirs() as $dir) {
    // ... scan the directory for register files as resource.
    $project->getResourceByFile($file);
    // ...
}
foreach ($project->getRegisteredResources() as $resource) {
    if ($resource instanceof \Chigi\Chiji\File\Annotation) {
        $resource->analyzeAnnotations();
    }
}
foreach ($project->getReleasesCollection() as $resource) {
    $project->getMatchRoad($resource->getFile())->releaseResource($resource);
}

注册配置的项目后,可以安排资源操作

  1. 通过项目中的定义源道路定位资源。
  2. 通过资源代码中嵌入的注解关联资源。
  3. 通过项目中的定义源道路发布资源。

更多信息

阅读文档获取更多信息。